Cualquier valor constante que se pueda asignar a la variable se denomina literal/constante. usamos literal cada vez que escribimos un objeto en el código ruby. Ruby Literals es igual que otros lenguajes de programación, solo algunos ajustes y diferencias aquí.
Estos son los siguientes literales en Ruby.
- Booleanos y cero
- números o enteros
- Instrumentos de cuerda
- simbolos
- Rangos
- arreglos
- Hachís
- Expresiones regulares
Tipo de ruby literales
- Booleanos y nil:
Estas son las constantes booleanas. Aquí false y nil tienen el mismo comportamiento aunque nil representa desconocido o vacío. Se comporta igual que false en declaraciones condicionales, pero solo se devuelven constantes verdaderas o falsas. true se comportan igual representa una variable positiva.true, false, nil
Ejemplo:
# Demo for Boolean literals
puts(
3
+
7
==
10
);
# returns true
puts(
3
+
7
!=
10
);
# returns false
puts(
3
+
7
==
nil
);
# return false
Producción:
true false false
- Números o enteros:
Ruby admite todos los tipos de enteros. podemos escribir enteros de cualquier tamaño como 100 o 1_00 o 10_0. Ruby permite cualquier número de ‘_’ en sus números como dice para fines de legibilidad.
Sintaxis:decimal(0d or 0D) octal(0o or 0O or 0) hex-decimal(0x or 0X) binary(0b or 0B). float(num- or numE1)
Ejemplo :
puts(
"300+1_00+10_0="
,
300
+
1_00
+
10_0
);
puts(
"hexa-"
, 0xaa );
puts(
"octal-"
, 0o222 );
puts(
"decimal-"
, 0d170,
" "
,
170
);
puts(
"binary-"
, 0b1010);
puts(
"Float-"
,
1
.
234E1
);
puts(
"hexa-"
, aa);
# error
Producción :
300+1_00+10_0=500 hexa-170 octal-146 decimal-170 170 binary-10 Float-12.34 main.rb:9:in `': undefined local variable or method `aa' for main:Object (NameError)
- String:
es lo mismo que python. La string se puede expresar con «» o « , donde «» permite la interpolación de los caracteres escapados.
Sintaxis:#{expression}
Ejemplo:
puts(
"Two multiply three is Six : #{2 * 3}"
)
puts(
"guardians\nof\nthe\ngalaxy"
);
puts(
'guardians\nof\nthe\ngalaxy'
)
Producción :
Two multiply three is Six: 6 guardians of the galaxy guardians\nof\nthe\ngalaxy
- Símbolo:
en Ruby, un símbolo representa un nombre dentro del intérprete. Los símbolos se colocan dentro del intérprete de Ruby y nunca se recolectan como basura. Por lo tanto, afecta el tamaño del intérprete, si se crean en gran cantidad o nunca se liberan.
Sintaxis:ruby_symbol
También podemos crear claves de símbolos por interpolación:
puts(:
":guardian_id#{20+1_5}"
)
Producción :
:guardian_id35
- Ranges:
Es similar al que tenemos en python range() . Imprime todos los valores posibles entre los límites dados (incluidos).
Sintaxis:range1..range2
Ejemplo:
for
i
in
2
..
5
do
puts(i)
end
Producción:
2 3 4 5
- Array :
Arrays es una colección de objetos, creada usando ‘[‘ y ‘]’.
Ejemplo:# Code for Array Demo
gog = [
'Quill'
,
'Gamora'
,
'Rocket'
,
'Groot'
,
'Drax'
]
puts(gog[
0
])
puts(gog[
2
])
# Negative indices are counted from the end
print(
"Negative Index:"
, gog[-
3
],
"\n\n"
)
# [start, count]
puts(
"[start, count]:"
, gog[
0
,
3
],
"\n"
)
# Using ranges.
# as range size exceeded it prints till full length
puts(
"Using range:"
, gog[
0
..
7
])
Producción:
Quill Rocket Negative Index:Rocket [start, count]: Quill Gamora Rocket Using range: Quill Gamora Rocket Groot Drax
- Hashes:
Es similar al que tenemos en python. podemos crear un hash usando claves de símbolos, ya que no se pueden cambiar una vez que se crean, y pueden ser claves perfectas.
Sintaxis:{key:value}
Ejemplo:
# way of creating hash
hash1 =
Hash
.
new
# way of creating hash
hash2 = {}
# initializing values and keys
hash1 = {
"Quill"
=>
100
,
"Drax"
=>
200
,
"Gamora"
=>
300
}
# initializing values and keys with symbol keys
hash2 = {Quill:
1
, Gamora:
2
}
print(hash1.keys,
"\n"
)
print(hash2.keys,
"\n"
)
for
i
in
hash2.keys
do
# : Should be used while checking before
# its a part of the symbol key
if
i==:Quill
# Printing value and assigned key
print(i,
"=>"
, hash2[i],
"\n"
)
end
end
Producción:
["Quill", "Drax", "Gamora"] [:Quill, :Gamora] Quill=>1
- Expresión Regular:
Es similar a la que tenemos en perl {/pattern/}. Las expresiones regulares en Ruby se pueden crear con o sin delimitadores.
Sintaxis:/pattern/ or %r{pattern}
Podemos crear un hash usando claves de símbolo, ya que no se pueden modificar una vez creadas, actúan como clave perfecta.
Sintaxis:{key:value}
Ejemplo:
line1 =
"guardians of the galaxy"
;
line2 =
"Doctor Strange"
;
# Checks whether ‘of’ is in line1 in // format
if
( line1 =~ /of(.*)/ )
puts line1
end
# Checks whether ‘Doc’ is in line1 in %r{} format.
if
( line2 =~ %r{Doc(.*)} )
puts line2
end
# Checks whether ‘off’ is in line1 .
if
( line2 =~ /off(.*)/ )
puts line2
else
puts
"nothing"
end
Producción:
guardians of the galaxy Doctor Strange nothing