Operaciones usando arreglos con Ruby

Los arreglos tienen utilidad en muchísimas aplicaciones, en el artículo anterior vimos cómo definirlos en Ruby, y en éste veremos algunas operaciones básicas utilizando arreglas, todas éstas provenientes del Kernel de Ruby.

La primera operación que querrás ejecutar sobre un arreglo, seguramente será la de recorrerlo, es decir, ir a través de todos sus elementos, ya sea para usarlos o para buscar algún elemento.

Mi ciclo de recorrido favorito en Ruby, es el que se ejecuta a través del método each, éste método pertenece a la clase Array en Ruby, lo que significa que todos los arreglos lo tienen. Cabe mencionar que hay varias formas de recorrer arreglos en Ruby además de las que veremos (un par), luego de haber dicho ésto veamos el ejemplo:

lenguajes = ["Ruby","Python","JAVA","javaScript"]
lenguajes.each do |lenguaje|
  puts lenguaje
end

Lo que me gusta acerca de each es lo claro de la sintaxis, es decir, a simple vista puedes ver cómo funciona el método. Si aún hay cosas que no te quedan claras, te explico. El método each se aplica sobre el arreglo, en el ejemplo, nuestro arreglo es lenguajes, y se manda un bloque (ojo con esto), este bloque itera cada elemento dentro del arreglo y lo almacena sobre la variable lenguaje, es decir, en cada iteración, el elemento actual está en lenguaje, por eso si ejecutas lo anterior verás como con puts, imprimimos cada cadena del arreglo.

Lo anterior, fue algo bastante del estilo Ruby, si quieres algo más convencional podrías recorrer el arreglo con un ciclo for in, veamos el ejemplo:

for i in lenguajes
  puts i
end

Como ves, esto es algo más parecido a lenguajes comunes como JAVA, i es la variable que toma el valor dentro del arreglo, que en este ejemplo retomamos el anterior arreglo lenguajes. Sencillo ¿no?

Veamos ahora algo un poco más complicado. Lo que veremos es el método map, que también es parte de la clase Array. Map, itera cada uno de los elementos, le aplica las modificaciones que tú definas en un bloque, y retorna un nuevo arreglo con las modificaciones, aquí el ejemplo:

lenguajes = ["python","ruby","java"] #todos minusculas
nuevoArreglo = lenguajes.map{|lenguaje| lenguaje.capitalize}
nuevoArreglo.each do |l|
   puts l
end

Te invito a que pruebes el anterior ejemplo en tu instalación de Ruby, lo que verás es cómo cada uno de los elementos en lenguaje se pasan a nuevoArreglo, pero con la primera letra en mayúsucula (por el método capitalize), como verás, map también se ejecuta con un bloque, ésta vez delimitado por {}, adentro definimos una variable para almacenar cada iteración del arreglo, llamada lenguaje, y luego modificamos la variable, en éste ejemplo colocamos la primera letra en mayúscula, genial ¿no?

Lo anterior puede que haya sido un poco complejo si estás iniciando a programar, no te preocupes si no te quedó del todo claro, te aseguro que en el momento en que requieras una operación como la anterior, podrás venir aquí y todo quedará más claro.

Existen muchísimas otras operaciones que se pueden ejecutar con arreglos, por ejemplo ordenarlo:

calificaciones = [10,8,6,9]
calificaciones.sort

Obtener el tamaño del arreglo:

calificaciones.size()

Y así podríamos seguir mencionando otros, pero para no complicar más el curso básico, lo dejaremos ahí por ahora.

Bien, por ahora dejaremos los arreglos para que en el siguiente artículo pasemos a ver los Hashes o Diccionarios.

Acerca del autor:

Programador en constante aprendizaje, futuro ing. en Desarrollo de Software. "La escuela es para socializar, internet es para aprender" Viviendo en la era javaScript.

Twitter del autor:

3 comments

  1. Harim says:

    Cómo puedo solucionar “unpermitted parameter”

  2. ignacio says:

    gracias!! muy claras tus explicaciones. me sacaron del problema, je.

  3. Francisco says:

    Gracias camarada!!

Leave a Reply

Your email address will not be published. Required fields are marked *