Uso de Arrays
Un array no es mas que un grupo de variables a las que podemos acceder mediante un indice.
En Ruby para hacer uso de un array es mediante los corchetes [] de esta forma:
Esto nos crearía un array con tres elementos a los que podemos accesar por medio de un indice de la siguiente forma:
Código:
puts array[0] #Imprime 1
puts array[1] #Imprime 2
puts array[2] #Imprime 3
Podemos notar que los indices de los array empiezan desde cero y no uno. También es posible asignarle valores a un elemento de un array referenciandolo por su indice de esta forma:
Código:
array[0] = 3 #Asigna el valor 3
array[1] = 4 #Asigna el valor 4
array[2] = 5 #Asigna el valor 5
puts array[2] #Imprime 5
Como vimos anteriormente podemos almacenar en las variables cadenas de texto, pues de igual forma se pueden almacenar en los array, inclusive puedes tener un array mixto con números y cadenas de texto
Código:
array = ["Hola","Ruby",1,2,3]
puts array[1] # Imprime Ruby
puts array[3] # Imprime 2
Hagamos un ejemplo, crearemos un archivo llamado arrays.rb con el siguiente contenido:
Código:
array = ["Manejo","de","Arrays",1,2,3]
puts array[0]
puts array.length
puts array[0] + " " + array[1] + " " + array[2]
puts array[3]
lo guardamos y lo corremos en consola y obtendríamos el siguiente resultado:
Código:
Manejo
6
Manejo de Arrays
1
Como podemos ver hay algo nuevo que usamos en este ejemplo que es la función length, la cual lo que hace es devolverte el tamaño o longitud del array en este caso.
Uso de Array con 2 Indices
Se puede acceder a un array usando 2 indices también. Esto es algo diferente al manejo de arrays multidimensionales de otros lenguajes de programación que hemos podido utilizar. En Ruby el primer indice te va a indicar la posición de inicio y el segundo el número de elementos a los que se quiere accesar.
Por ejemplo:
Tenemos este array:
Código:
array = ["Hola","desde","Ruby",1,2,3]
Para reemplaza el elemento en la posición 1, se haría de esta forma:
Código:
array[1] = "usando"
y quedaría así:
Código:
["Hola","usando","Ruby",1,2,3]
Con un array con 2 indices el equivalente sería el siguiente:
Código:
array = ["Hola","desde","Ruby",1,2,3]
array[1,1] = "usando"
y como resultado tendríamos esto:
Código:
["Hola","usando","Ruby",1,2,3]
y como quedaría si el cambio se hiciera sobre array[1,2]
Código:
array = ["Hola","desde","Ruby",1,2,3]
array[1,2] = "Todos"
el resultado sería:
Código:
["Hola","Todos",1,2,3]
y que pasaría si hacemos esto array[3,0]
Código:
array = ["Hola","desde","Ruby",1,2,3]
array[3,0] = "DragonJar"
puts array
Esto sería lo que se obtendría:
Código:
Hola
desde
Ruby
DragonJar
1
2
3
no reemplaza ningún elemento sino que lo inserta a partir de la posición indicada
Hagamos un ejemplo llamado arraydoble.rb con el siguiente contenido:
Código:
array = ["Hola","desde","Ruby",1,2,3]
array[2,1] = "DragonJar"
puts array
array = ["Hola","desde","Ruby",1,2,3]
array[3,0] = "DragonJar"
puts array
array = ["Ahora","es",1,2,3]
array[1,0] = ["el","momento"]
puts array
lo guardamos y corremos en consola:
Código:
Hola
desde
DragonJar
1
2
3
Hola
desde
Ruby
DragonJar
1
2
3
Ahora
es
el
momento
1
2
3
Uso de Hashes
Un hash puede ser visto como un array asociativo o un diccionario. A diferencia de los array puedes indexar tus datos usando cadena de texto.
Para crear un hash se usan las llaves ({}) en vez de los corchetes ([]).
Por ejemplo así se vería:
Código:
pagos_pendientes = {"vehiculo"=>"1000","casa"=>"2000"}
puts pagos_pendientes["vehiculo"]
se obtendría lo siguiente:
Hagamos un ejemplo llamado hashes.rb con este contenido:
Código:
autos = {"deportivo"=>"ferrari","rustico"=>"hummer"}
puts autos["deportivo"]
puts autos
puts autos.length
lo guardamos y lo corremos en consola:
Código:
ferrari
deportivorustico
2
ese sería el resultado obtenido.
Uso de Rangos
Para crear un rango se usa el operador (..). Por ejemplo para crear un rango del 1 al 5
Código:
rango = 1..5
puts rango
esto obtendríamos:
Se puede crear un rango y excluir el ultimo elemento agregando un punto adicional
Código:
rango = 1...5
puts rango
el resultado
En la próxima entrega veremos los siguientes puntos:
- Condicionales
- Loops
- Metodos
- Bloques