method_missing te proporciona una manera de interceptar mensajes a los
que un objeto no puede responder y manejarlos de una manera elegante.
Revisa la documentación de la case String para usar los diferentes métodos
que tiene disponibles.
En las cadenas con comillas dobles, Ruby busca elementos para sustituir -secuencias
que comienzan con una diagonal invertida- y las reemplaza con algún valor binario.
En este tipo de cadenas, Ruby busca también expresiones para interpolar, es decir,
las expresiones que se encuentren dentro del operador #{} son reemplazadas por
el valor de la expresión.
Es importante notar que siempre que se utiliza una cadena en una asignación o
como parámetro, se crea un nuevo objeto de la clase String.
Ten en cuenta que es posible enumerar todos los métodos disponibles para una clase u objeto.
La comparación de dos cadenas puede hacerse con == o con String.eql? (para igualdad en el contenido)
y con String.equal? (para igualdad de objetos.).
El uso de %w es común en las cadenas.
Ten presente el uso de las declaraciones: if else end, while, if elsisf end.
Ruby tiene también la forma negativa de if que es unless.
Expresiones case. Esta forma es muy cercana a una serie de declaraciones if:
te permite enumerar una serie de condiciones y ejecutar una declaración o expresión
que corresponda a la primera condición que sea verdadera. case regresa el valor de
la última expresión ejecutada.
Un array es sólo una lista ordenada de elementos. Cada espacio en la lista actúa como
una variable: puedes ver a que objeto en particular ese espacio hace referencia y
puedes referenciarlo a un objeto diferente.
El índice de los arrays comienza en cero.
Si tratas de accesar un elemento de un array can un índice mayor a su tamaño, el método
regresa nil.
Podemos agregar más elementos a un array.
Consulta la documentación completa de la clase Array para ver una lista completa de métodos.
El método each (para cualquier objeto que pueda responder a el) es un “iterador”
que extrae cada elemento del array y nos permite efectuar cualquier tipo de operación
con cada uno de los objetos a los que hace referencia.
La variable dentro de las barras verticales (||) toma el valor de cada uno de los
elementos en el array. Puedes darle cualquier nombre a esta variable.
do y end identifican un bloque de código que será ejecutado para cada elemento.