Tipos y operadores
En este capítulo vamos a hablar sobre cadenas de texto, números y booleanos (verdadero o falso), que son algunos de los tipos de datos en Ruby, y cómo realizar operaciones básicas con ellos.
Cadenas de texto
Una cadena de texto es un conjunto de caracteres encerrados entre comillas simples ('
) o dobles ("
). Por ejemplo:
Números
Los números en Ruby funcionan muy similar a como funcionan en otros lenguajes de programación y puedes realizar las operaciones normales sobre ellos como sumas, restas, etc. Por ejemplo:
Expresiones booleanas
En Ruby se utilizan las expresiones true
y false
para representar verdadero y falso respectivamente.
Los operadores lógicos <
, >
, <=
, >=
, ==
, !=
se utilizan para crear expresiones que evalúan a un valor booleano true
o false
.
Concatenando cadenas
Es posible unir cadenas de texto con el operador +
. Por ejemplo, abre IRB y ejecuta lo siguiente:
Deberías ver algo como esto:
Fíjate que las palabras no se separan con espacio automáticamente, tenemos que agregar los espacios explícitamente:
Concatenando valores de diferentes tipos
Si intentas concatenar una cadena con un número vas a ver el siguiente error:
El error nos dice que no es posible convertir un Fixnum
(un número) a un String
(a una cadena de texto). Una solución a este problema es convertir explícitamente el número a una cadena añadiendo .to_s
a la derecha del número:
Ahora intenta lo siguiente, queremos que imprima "2 + 3 es 5"
:
¿Qué pasa si le añadimos .to_s
a cada número? Veamos:
No es el resultado que esperábamos. Lo que hizo Ruby fue concatenar la cadena "2 + 3 es "
con las cadenas "2"
y "3"
.
Una solución es envolver la suma entre paréntesis y agregarle .to_s
:
Pero estar convirtiendo los tipos a cadena de texto con .to_s
es muy engorroso. Ruby nos ofrece una mejor solución, la interpolación:
Interpolación
La interpolación es la forma recomendada de concatenar cadenas en Ruby. Abre IRB e intenta lo siguiente:
La interpolación nos permite ejecutar código Ruby dentro de una cadena de texto, convertir el resultado a una cadena de texto y reemplazarlo en donde se definió. Por ejemplo:
Para usar interpolación ten en cuenta lo siguiente:
Debes usar comillas dobles (
"
) en vez de sencillas ('
). Si utilizas comillas sencillas Ruby ignora la interpolación:La sintaxis de la interpolación es
#{}
. Ruby evalúa lo que esté entre los corchetes y lo convierte en cadena de texto.Puedes usar
#{}
las veces que quieras dentro de una cadena.
Last updated