Ruby
Guía rápida de iniciación en Ruby
Ruby es un lenguaje muy expresivo, enfocado en la simplicidad y la productividad del programador. Es ideal para principiantes por su sintaxis clara y fácil de entender, pero lo suficiente robusto como para crear aplicaciones que pueden escalar a millones de usuarios.
Mostrar por Pantalla
puts "Hola Mundo" # incluye un salto de linea al final
print "Hola Mundo" # no incluye el salto de linea
Variables
var_1 = "Soy la variable 1"
var_2 = 2
Un ejemplo para usar variables dentro de un String:
name = "Bastián" # cámbialo por tu nombre
puts "Hola #{name}"
Condicionales
Operadores Lógicos
AND = and o && OR = or o ||
Las condiciones if son muy parecidas a Python, no llevan ":" y terminan con un "end"
if condicion_1
# código que se ejecuta si se cumple la condición_1
elsif condicion_2
# código si <condicion_1> NO se cumple, pero <condicion_2> sí
elsif condicion_3
# código si <condicion_1> y <condicion_2> NO se cumplen, pero <condicion_3> sí
else
# código si ninguna de las condiciones se cumple
end
Ciclos
While
while <condición>
# acá va el código que se va a repetir mientras la condición sea verdadera
end
For
for i in (0..9)
puts i
end
Iterando N Veces
num = 850
num.times do
puts "Hola mundo"
end
Si necesitas el valor sobre el que iteras:
850.times do |i|
puts "#{i} Hola mundo"
end
Iterando sobre un rango
(10..15).each do |i|
puts "#{i} Hola mundo"
end
Arreglos
Parecidos a las listas de python.
array = [1, "Pedro", true, false, "Juan"]
#Obteniendo el primer elemento
array[0]
#Reemplazando un elemento
array[1] = "Germán"
#insertando un nuevo elemento al final
array.push("Germán")
#insertando un elemento dado un indice
array.insert(0, "Juan")
#eliminando un elemento dado un indice
array.delete_at(1)
#Recorriendo elementos
array.each do |element|
puts element
end
#Recorriendo elementos e indice a la vez
array.each_with_index do |element, index|
puts "#{index}: #{element}"
end
Métodos útiles
Método
Descripción
first
Retorna el primer elemento del arreglo
last
Retorna el último elemento del arreglo
shuffle
Retorna un nuevo arreglo mezclado aleatoriamente
length
Retorna el tamaño del arreglo
Hashes
La versión de Ruby de los diccionarios de Python.
#nuevo hash
persona = {"nombre" => "Germán", "apellido" => "Escobar", "edad" => 34}
#obteniendo un valor
persona["nombre"]
#agregando nuevos elementos
persona["peso"] = 65
#modificar un elemento
persona["peso"] = 70
#eliminando elemento
persona.delete("peso")
#recorriendo
persona.each do |llave, valor|
puts "#{llave}: #{valor}"
end
Usando símbolos como llaves
En los ejemplos anteriores hemos usado cadenas de texto y números como llaves de los hashes. Sin embargo, en Ruby hay un tipo de datos que es muy utilizado como llaves en los hashes: los símbolos.
status = :encendido # nuestro primer símbolo
Los símbolos son muy parecidos a las cadenas de texto pero con las siguientes diferencias:
No están envueltos en comillas.
Empiezan con dos puntos (:).
No contienen espacios en blanco.
Creemos nuestro primer hash con símbolos:
persona = {:nombre => "Germán", :apellido => "Escobar", :edad => 34, :estatura => 1.8}
Muy parecido al ejemplo anterior. Pero entonces ¿cuál es la ventaja de usar símbolos como llaves de un hash? La respuesta es que cuando usamos símbolos podemos escribir los hashes de forma más corta:
persona = {nombre: "Germán", apellido: "Escobar", edad: 34, estatura: 1.8}
Los cambios que hicimos son los siguientes:
Eliminamos el
=>
(hash rocket)Movimos los dos puntos (:) al final del símbolo.
Para obtener algún valor del hash utilizamos el símbolo:
persona[:nombre]
Métodos
Como las funciones de Python
def hello(name)
return "Hola #{name}"
end
Orientación a Objetos
Como comentamos anteriormente, Ruby es un lenguaje orientado objeto. En Ruby casi todo es un objeto.
Por ejemplo, cuando ejecutar la siguiente linea de código
array1 = []
Es exactamente lo mismo que
array1 = Array.new
En donde llamamos al método "new" de la clase "Array", para crear un nuevo objeto que será guardado en la variable "array1"
Clases y objetos
Las clases y los objetos son los conceptos más importantes de la Programación Orientada por Objetos, y están fuertemente relacionados. Los objetos se crean a partir de clases, y las clases definen los atributos y el comportamiento que tendrán los objetos. A los objetos también se les llama instancias de clase.
class Dado
def roll
1 + rand(6)
end
end
# Vamos a crear un nuevo objeto dado...
dado1 = Dado.new
# ...y hacerlo rodar.
puts dado1.roll
Última actualización
¿Te fue útil?