Guía Ruby: La Clase Array
En este capítulo de la guía hispana de Ruby vamos a sumergirnos en una de las clases más usadas del lenguaje – Array. La documentacion oficial de esta clase está disponible en línea y lo primero que aprenderemos es como crear arrays y algunos operadores básicos. Si quieren sacarle el mayor provecho, disparen irb en su consola y sigan los ejemplos mientras leen. También pueden usar esta versión en la web de irb.
Si necesitas instalar Ruby te recomiendo veas la Guía Hispana de Ruby en donde te muestro paso a paso cómo hacerlo. Ahora, creemos nuestro primer array.
Array.new
Crea un nuevo array. Por ejemplo:
@nombres = Array.new
Esto hace que @nombres se convierta en una array. Hay que notar que este array esta vació.
Método: []
Este método retorna un nuevo array con el contenido que le pasemos. Por ejemplo:
@nombres = ["ivan", "luis", "pedro"]
Esto asigna a @nombres un array con los 3 elementos: ivan, luis y pedro. Noten como no tuvimos que llamar a la clase Array["ivan", "luis", "pedro"] ya que Ruby deduce por su naturaleza dinámica que esto es un array. EL método [] es muy usado en la creación de arrays.
Método: +
Con este método sumamos arrays. Es decir, le agregamos el contenido de uno al final del otro. Por ejemplo:
@nombres = ["ivan", "luis", "pedro"] @nombres_ingleses = [ "Ralph, Joe, Bob" ] @nombres + @nombres_ingleses ["ivan", "luis", "pedro", "Ralph, Joe, Bob"]
Método: -
De la misma manera podemos restar arrays.
@nombres = ["ivan", "luis, "pedro"] @menos_nombres = ["ivan", "luis"] @nombres - @menos_nombres ["pedro"]
Método: *
Muy parecido podemos multiplicar un array por un número. Esto lo va a copiar tantas veces sea el valor de la multiplicación.
[1, 2, 3] * 3 [1, 2, 3, 1, 2, 3, 1, 2, 3]
Método: <<
Al ya tener un array podemos agregarle nuevos objetos con el método <<. Por ejemplo:
@nombres = ["ivan"] @nombres << "pedro" ["ivan", "pedro"]
Podemos usar este metodo varias veces como por ejemplo:
@nombres << "Raul" << "Luis" << "Cesar" ["ivan", "pedro", "Raul", "Luis", "Cesar"]
Método: &
A este método lo llamamos intersección por que retorna los elementos comunes de dos arrays sin duplicados. Por ejemplo:
@clientes = ["Raul", "Pedro", "Ivan", "Raul"] @familia = ["Raul", "Raul"] @clientes & @familia ["Raul"]
´
Método: <=>
A este método lo llamamo compración. Retorna -1, 0, +1 si el array es menor que, igual que o mayor que otro array respectivamente. Por ejemplo:
["Ivan", "Pedro"] <=> ["Pedro"] -1 ["Pedro", "Ivan"] <=> ["Ivan", "Pedro"] 1 ["Pedro", "Ivan"] <=> ["Pedro", "Ivan"] 0
Notemos como retorna (-1) si los arrays son diferentes. Retorna 1 si los array son iguales pero los objetos no están en el mismo orden y retorna 0 si el array es exactamente igual.
Método: ==
Igualdad. Con esto probamos que dos arrays son igual.
["pedro", "ivan"] == [1,2,3] false ["pedro", "ivan" ] == ["pedro", "ivan"] true
Ivan Acosta-Rubio para