Introducción a Ruby

Introducción básica a la sintaxis del lenguaje interpretado Ruby

Ruby es un lenguaje interpretado orientado a objetos creado por Yukihiro Matsumoto. Lo creó basándose en otros lenguajes como perl y python en referencia sobretodo a la sintaxis y también en smalltalk por su orientación a objetos.

Una de las mejores cualidades de este lenguaje es su sencillez para leerlo.

En Ruby, todos los tipos de datos son considerados objetos, incluso lo que otros lenguajes como Java consideran tipos primitivos (enteros, booleanos, NULL, etc). Además, es importante saber que Ruby no necesita definir de qué tipo es una variable antes de inicializarla.

A continuación se muestran ejemplos básicos de programación como la sintaxis de las variables, las estructuras de control y algunas particularidades más que utiliza Ruby.

Ejemplos de sintaxis

Veamos la sintaxis para crear un método. En este ejemplo se le pasa una cadena de texto por parámetro y se devuelve otra cadena de texto modificada.

def mifuncion(texto)
  cadena = texto + " y adiós."
  return cadena
end

puts mifuncion("Hola")

La función puts imprime por pantalla el resultado del método llamado.

Para ejecutar el código basta guardar el código en un archivo llamado, por ejemplo, hola.rb y desde la línea de comandos ejecutar:

ruby hola.rb

Diferencia entre métodos que acaban en ? o !

A veces nos interesará saber si un atributo o variable está definida. Podemos usar la expressión:

atributo.nil?

Que devolverá cierto o falso según si está definida o no.

En cambio si una variable está seguida de el símbolo !, indica que se modifica el contenido de la variable. Mientras que si no lo lleva devuelve una copia modificada del contenido de la variable.

Variables

Hay diferentes tipos de variables: Las locales, las globales y las de instancia de un objeto.

Una variable local es una variable como la usada en el ejemplo anterior llamada "cadena".

Las variables globales son las que se pueden acceder desde cualquier sitio y se escriben con el símbolo $ delante.

Las variables para instanciar un objeto se escriben con una arroba @ delante:

@coche = Coche.new

Y para acceder a cualquier atributo de un objeto:

@coche.color = "verde"

Estructuras de control

Las estructuras de control que más usaremos son la condicional if y el while.

dinero = 40

if dinero < 10
  puts "Tienes menos de 10"
elsif dinero > 10
  puts "Tienes mas de 10"
else
  puts "Tienes 10"
end

El bucle while se escribe de la siguiente forma:

total = 10
while total>0
  puts total
  total -= 1
end

Arrays y Hashes

Ruby permite crear estructuras de datos de tipo Array y de tipo Hash. Un array tiene como índice un entero mientras que un hash tiene como índice una cadena de texto.

Un ejemplo de array y como se recorre con un iterador:

muebles = ['Silla', 'Mesa', 'Armario']
  muebles.each do |m|
  puts "#{m}"
end

Ahora un ejemplo de hash y como se recorre con un iterador:

muebles = {
  :silla => 'salón',
  :mesa => 'salón,'
  :armario => 'dormitorio'
}

muebles.each_with_index do |m,i|
  puts "indice: #{i} contenido:#{m}"
end

También es posible recorrer un array pasando por todos los indices numéricos con un for

muebles = ['Silla', 'Mesa', 'Armario']
for i in 0..muebles.length
  puts muebles[i]
end

Tenemos así una gran variedad de formas de recorrer las estructuras de datos.