III. Sintaxis
Ruby fue diseñado para que el código en si sea legible y natural, tanto para programarlo como para analizarlo. La base no es complejizar la programación al tipearla, si no que al crear la lógica como en todo lenguaje. El escribir un programa solo debe ser el complemento que generará el funcionamiento de la lógica establecida previamente
puts "Hola, mundo!"
Aunque el lenguaje lo permite, no son estrictamente necesarios los límites estrictos de funcionamiento lógico del lenguaje, como paréntesis, llaves o punto y comas
# Válido con paréntesis
puts("Ruby")
# Válido sin paréntesis
puts "Ruby"
# Válido con paréntesis y punto y coma de cierre
puts("Ruby");
Ruby en si es de libre indentación. A pesar que por buena práctica se suele utilizar como un seudo estándar indentar a 2 espaciados para mejorar la estructura y el análisis de un código, el valor utilizado en la indentación no afecta el proceso de intepretación del lenguaje por parte del interprete
# Indentado a 4 espacios (1 tabulación) es válido
edad = 15
if (edad >= 18)
puts("Adulto")
else
puts("Niño")
end
# Indentado a diferentes espaciados es válido
edad = 15
if (edad >= 18)
puts("Adulto"); else
puts("Niño")
end
Para algunos bucles se puede definir un bloque de código bajo una estructura normal de
do...end
, o también entre llaves{...}
# forma normal de bucle
[1,2,3].each do |n|
puts n
end
# entre llaves
[1,2,3].each { |n| puts n}
Ruby al ser un lenguaje de tipo dinámico y no estrictamente tipado (como C/C++), permite volver a asignarle un nuevo valor y tipo de dato a una variable, por lo que ambos pueden cambiar a lo largo del flujo del programa tantas veces como se requiera
# Se define una variable como string
irb(main):000> nombre = "Kenny"
=> "Kenny"
irb(main):000> puts(nombre)
Kenny
=> nil
# Ahora se define como entero
irb(main):000> nombre = 29
=> 29
irb(main):000> puts(nombre)
29
=> nil
En Ruby todo tipo de dato es un objeto
irb(main):000> 5.even?
=> false
irb(main):000> 5.class
=> Integer
irb(main):000> "Hola".upcase
=> "HOLA"
En Ruby, solo los valores
false
ynil
son nativamente falsos. Cualquier otro valor es naturalmente declarado como verdadero, incluso0
y el vacío""
irb(main):000> if 0; puts("Me ejecuto"); end
Me ejecuto
=> nil
Como en otros lenguajes, se puede realizar interpolación de variables dentro de un string
irb(main):000> nombre = "Kenny"; puts "Hola, #{nombre}"
=> "Hola, Kenny"
Última actualización