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 y nil son nativamente falsos. Cualquier otro valor es naturalmente declarado como verdadero, incluso 0 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