Almacenar variables dentro de variables es algo común en Rubí y a menudo se le denomina "estructura de datos"Hay muchas variedades de estructuras de datos, la más simple de las cuales es la matriz.
Los programas a menudo tienen que gestionar colecciones de variables. Por ejemplo, un programa que administra su calendario debe tener una lista de los días de la semana. Cada día debe almacenarse en una variable, y una lista de ellos puede almacenarse juntos en una variable de matriz. A través de esa variable de matriz, puede acceder a cada uno de los días.
Crear matrices vacías
Puede crear una matriz vacía creando un nuevo objeto Array y almacenándolo en una variable. Esta matriz estará vacía; debes llenarlo con otras variables para usarlo. Esta es una forma común de crear variables si tuviera que leer una lista de cosas desde el teclado o desde un archivo.
En el siguiente programa de ejemplo, se crea una matriz vacía utilizando el comando de matriz y el operador de asignación. Tres cadenas (secuencias ordenadas de caracteres) se leen desde el teclado y se "empujan" o se agregan al final de la matriz.
#! / usr / bin / env ruby
array = Array.new
3. veces hacer
str = gets.chomp
array.push str
final
Utilice una matriz literal para almacenar información conocida
Otro uso de las matrices es almacenar una lista de cosas que ya sabe cuando escribe el programa, como los días de la semana. Para almacenar los días de la semana en una matriz, puede crear una matriz vacía y agregarlos uno por uno a la matriz como en el ejemplo anterior, pero hay una manera más fácil. Puedes usar un literal de matriz.
En programación, un "literal" es un tipo de variable que está integrado en el lenguaje y tiene una sintaxis especial para crearlo. Por ejemplo, 3 es un literal numérico y "Rubí" es un literal de cadena. Un literal de matriz es una lista de variables entre corchetes y separadas por comas, como [ 1, 2, 3 ]. Tenga en cuenta que cualquier tipo de variables se pueden almacenar en una matriz, incluidas las variables de diferentes tipos en la misma matriz.
El siguiente programa de ejemplo crea una matriz que contiene los días de la semana y los imprime. Se utiliza una matriz literal, y el cada loop se usa para imprimirlos. Tenga en cuenta que cada no está integrado en el lenguaje Ruby, sino que es una función de la variable de matriz.
#! / usr / bin / env ruby
días = ["lunes",
"Martes",
"Miércoles",
"Jueves",
"Viernes",
"Sábado",
"Domingo"
]
días cada do | d |
pone d
final
Utilice el operador de índice para acceder a variables individuales
Más allá del simple bucle sobre una matriz (examinando cada variable individual en orden), también puede acceder a variables individuales desde una matriz utilizando el operador de índice. El operador de índice tomará un número y recuperará una variable de la matriz cuya posición en la matriz coincide con ese número. Los números de índice comienzan en cero, por lo que la primera variable en una matriz tiene un índice de cero.
Entonces, por ejemplo, para recuperar la primera variable de una matriz que puede usar matriz [0], y para recuperar el segundo puedes usar matriz [1]. En el siguiente ejemplo, una lista de nombres se almacena en una matriz y se recupera e imprime utilizando el operador de índice. El operador de índice también se puede combinar con el operador de asignación para cambiar el valor de una variable en una matriz.
#! / usr / bin / env ruby
nombres = ["Bob", "Jim",
"Joe", "Susan"]
pone nombres [0] # Bob
pone nombres [2] # Joe
# Cambiar Jim a Billy
nombres [1] = "Billy"