English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tipos de datos de Ruby

En esta sección, les presentaremos los tipos de datos básicos de Ruby.

Los tipos de datos admitidos por Ruby incluyen los básicos Number, String, Ranges, Symbols, así como los valores especiales true, false y nil, además de dos estructuras de datos importantes: Array y Hash.

Tipo de número

Integer

Existen dos tipos de enteros, si en31bits (cuatro bytes), que es un ejemplo de Fixnum. Si es mayor, es un ejemplo de Bignum.

El rango de enteros va desde -230 hasta 230-1en este rango, los enteros son clases Fixnum objeto, cuando el valor entero sea mayor o igual que2del3en la potencia de 0 ( -262 hasta 262-1se convertirá automáticamente al tipo Bignum.

Puede usar un símbolo de guia opcional antes de un entero, un índice base opcional (0 para octal, 0x para hexadecimal, 0b para binario), seguido de una secuencia de dígitos. Los caracteres de subrayado se ignoran en la secuencia de dígitos.

Puede obtener un valor entero de un carácter ASCII o una secuencia de escape marcada con un signo de interrogación.

Ejemplo en línea

123                  # Fixnum Decimal
1_234                # Fixnum Decimal con subrayado
-500                 # Negativo Fixnum
0377                 # Octal
0xff                 # Hexadecimal
0b1011               # Binario
"a".ord              # Codificación del carácter "a"
?\n                  # Codificación del salto de línea (0x0a)
12345678901234567890 # Número grande
 
#Entero Integer, a continuación, algunos literals de enteros 
#LITERAL: todos los valores que se pueden ver en el código, números, valores bool, cadenas, etc. se llaman literals 
#Como el 0,1_000_000,0xa, etc. 
a1=0 
 
#Entero con separador de miles 
a2=1_000_000 
 
#Otras representaciones de sistemas numerarios 
a3=0xa 
puts a1,a2 
puts a3 
 
#puts print son para imprimir caracteres en la consola, donde puts devuelve un salto de línea 
=begin 
Esto es un comentario, denominado: comentario de documentación incrustado 
Similar a C#/**/ 
=end

punto flotante

Ruby admite números de coma flotante. Son números con decimales. Los números de coma flotante son de la clase Float de los objetos, y puede ser uno de los siguientes.

Ejemplo en línea

123.4                # Valor de punto flotante
1.0e6                # Notación científica
4E20                 # No es necesario
4e+20                # El símbolo antes del exponente
 
#Tipo de punto flotante 
f1=0.0 
f2=2.1 
f3=1000000.1 
puts f3

Operaciones aritméticas

Operadores de suma, resta, multiplicación y división:+-*/; el operador de exponente es**

El exponente no tiene que ser un entero, por ejemplo

Ejemplo en línea

#Arithmetic de exponente 
puts 2**(1/4)#1Con4la división es 0, luego2a la potencia 0 es1 
puts 16**(1/4.0)#1Con4.0 de la división es 0.25(cuarto), luego tome la raíz cuadrada cuádruple

tipo de cadena

Ruby String, en términos simples, es una 8 La cadena de bytes, que son objetos de la clase String.

Las cadenas de bytes, que son objetos de la clase String.

Ejemplo en línea

#!/usr/bin/ruby -w
 
puts 'escape usando \
puts 'Eso está bien';

Esto producirá el siguiente resultado:

escape usando \
Eso está bien

Puede usar una secuencia #{ expr } reemplazar el valor de cualquier expresión Ruby con una cadena. Aquí, expr puede ser cualquier expresión Ruby.

Ejemplo en línea

#!/usr/bin/ruby -w
 
puts "multiplicar : #{24*60*60";

Esto producirá el siguiente resultado:

multiplicar : 86400

Ejemplo en línea

#!/usr/bin/ruby -w
 
name="Ruby" 
puts name 
puts "#{name+",ok"}"

el resultado de la salida es:

Ruby
Ruby,ok

símbolo de barra invertida

La siguiente tabla enumera los símbolos de barra invertida soportados por Ruby:

símbolorepresenta el carácter
\nsalto de línea (0x0a)
\rretorno de carro (0x0d)
\fpágina de cambio (0x0c)
\btecla de retroceso (0x08)
\aalarma Bell (0x07)
\esímbolo de escape (0x1b)
\sespacio en blanco (0x20)
\nnnrepresentación octal (n es 0-7)
\xnnrepresentación hexadecimal (n es 0-9、a-f o A-F)
\cx, \C-xControl-x
\M-xMeta-x (c | 0x80)
\M-\C-xMeta-Control-x
\xcarácter x

Para obtener más detalles sobre Ruby strings, consulte Ruby string (String).

array

expresiones literales de array se definen entre [] con comas separadas y soportan definiciones de rango.

  • (1) acceder al array a través de índices []

  • (2) insertar, eliminar o reemplazar elementos con operaciones de asignación

  • (3)+merge y elimine elementos con el símbolo -, y el conjunto aparece como nuevo conjunto

  • (4) añadir elementos al conjunto original con el operador <<

  • (5)*elementos repetidos del array

  • (6) hacer operaciones de unión y intersección con los símbolos | y & (tenga en cuenta el orden)

Ejemplo en línea

#!/usr/bin/ruby
ary = [ "fred", 10, 3.14, "Esto es una cadena", "último elemento", ]
ary.each hacer |i|
    puts i
end

Esto producirá el siguiente resultado:

fred
10
3.14
Esto es una cadena
último elemento

Para obtener más detalles sobre Ruby arrays, consulte Ruby array (Array).

tipo de hash

Ruby hash se coloca una serie de claves dentro de corchetes grandes/los pares de valores, clave y valor se separan por comas y la secuencia =>. La coma al final se ignora.

Ejemplo en línea

Ejemplo en línea

#!/usr/bin/ruby
 
hsh = colors = {"rojo" => 0xf00, "verde" => 0x0f0, "azul" => 0x00f}
hsh.each hacer |clave, valor|
    imprimir clave, "es", valor, "\n"
end

Esto producirá el siguiente resultado:

rojo es 3840
verde es 240
azul es 15

Para obtener más detalles sobre el hash de Ruby, consulte Hash (Hash) de Ruby.

Tipo de rango

Un rango representa un intervalo.

El rango se representa mediante un valor de inicio y un valor de finalización. El rango se puede construir con s..e y s...e, o mediante Range.new.

El rango construido con .. se ejecuta desde el valor de inicio hasta el valor de finalización (incluso el valor de finalización). El rango construido con ... se ejecuta desde el valor de inicio hasta el valor de finalización (sin incluir el valor de finalización). Cuando se utiliza como iterador, el rango devuelve cada valor de la secuencia.

rango (1..5) significa que contiene valores 1, 2, 3, 4, 5,rango (1...5) significa que contiene valores 1, 2, 3, 4 .

Ejemplo en línea

#!/usr/bin/ruby
 
(10..15).each do |n|
    print n, ' '
end

Esto producirá el siguiente resultado:

10 11 12 13 14 15

Para obtener más detalles sobre el rango de Ruby, consulte Rango (Range) de Ruby.