Variables
Una variable en Ruby se crea simplemente asignándole un valor con =. Ruby infiere el tipo automáticamente.
nombre = 'angel'
apellido = "martinez"
No se declara el tipo explícitamente. Ruby decide el tipo en tiempo de ejecución.
Strings
Ruby soporta cadenas de texto (String) de dos formas principales:
nombre = 'angel'
apellido = "martinez"
La diferencia es importante:
- Comillas simples
'...': texto literal - Comillas dobles
"...": permiten interpolación y secuencias especiales
nombre_completo = "#{nombre} #{apellido}"
puts nombre_completo
La interpolación permite incrustar expresiones Ruby dentro de una cadena usando #{}. Esto se usa constantemente en Rails (vistas, logs, mensajes).
Convención de salida
puts nombre_completo
Es preferible a:
puts(nombre_completo)
Ruby favorece una sintaxis limpia y legible, especialmente en código real.
Tipos de datos comunes
String
puts nombre.class
# => String
Permite confirmar que todo es un objeto y tiene una clase asociada.
Integer
edad = 32
puts edad.class
# => Integer
Ruby maneja enteros de tamaño arbitrario, no hay distinción entre int y long.
Float
peso = 85.5
puts peso.class
# => Float
Los números decimales son instancias de Float.
Booleanos
Ruby solo tiene dos valores booleanos reales:
true
false
Cualquier otro valor (incluido 0, cadenas vacías, arrays vacíos) se evalúa como verdadero en condiciones.
Ejemplo:
edad < peso
# => true
Nil
nil representa la ausencia de valor. Es un objeto de la clase NilClass.
valor = nil
puts valor.nil?
# => true
Esto es muy importante en Rails, donde es común validar si un valor existe o no.
Fechas y tiempo
Ruby proporciona la clase Time para manejar fechas y horas.
fecha_nacimiento = Time.new(2004, 2, 7)
puts fecha_nacimiento
Salida aproximada:
2004-02-07 00:00:00 -0600
El objeto Time incluye información de zona horaria y permite múltiples operaciones.
Formateo de fechas
Para mostrar fechas de forma legible, se utiliza strftime:
puts fecha_nacimiento.strftime("%B %d %Y")
# => February 07 2004
Esto es extremadamente común en Rails, especialmente en vistas.
Uso de IRB (Interactive Ruby)
irb es la consola interactiva de Ruby. Permite:
- Probar código rápidamente
- Inspeccionar objetos
- Entender comportamientos sin escribir archivos
Ejemplo:
irb
Dentro de IRB:
nombre = 'angel'
apellido = "martinez"
nombre_completo = "#{nombre} #{apellido}"
puts nombre_completo
Cada línea devuelve su valor evaluado, lo que facilita el aprendizaje y la depuración.
Observación importante:
puts nombre_completo
# imprime el texto
# devuelve nil
puts siempre retorna nil. Esto es clave para entender por qué algunos métodos no devuelven lo que esperamos.
Comparaciones y coerción de tipos
Ruby no convierte automáticamente tipos incompatibles:
"10" + 5
# TypeError
Debe hacerse explícitamente:
"10".to_i + 5
# => 15
Conversión común:
to_ito_fto_s
Identificadores y convenciones
- Variables usan
snake_case - Clases usan
CamelCase - Constantes usan
MAYUSCULAS
Ejemplo:
nombre_completo
FechaNacimiento
PI = 3.1416
Estas convenciones son obligatorias en Rails.
Resumen conceptual
- Ruby no requiere declarar tipos
- Todo es un objeto
- Las cadenas con comillas dobles permiten interpolación
niles un objeto válidoTimees fundamental para trabajar con fechas- IRB es una herramienta clave para aprender Ruby y Rails
Ejercicio propuesto
Crea un pequeño script en Ruby que haga lo siguiente:
- Declare variables para:
- nombre (String)
- edad (Integer)
- estatura (Float)
- fecha_de_registro (Time, usando la fecha actual)
- Imprima un mensaje interpolado con todos los datos.
- Muestre la clase de cada variable usando
.class. - Formatee la fecha para que se muestre como:
Registrado el DD/MM/YYYY
- Prueba el código primero en IRB y luego en un archivo
.rb.