La memorizzazione di variabili all'interno di variabili è una cosa comune in Ruby e viene spesso definita "struttura di dati". Esistono molte varietà di strutture dati, la più semplice delle quali è l'array.
I programmi devono spesso gestire raccolte di variabili. Ad esempio, un programma che gestisce il tuo calendario deve avere un elenco dei giorni della settimana. Ogni giorno deve essere archiviato in una variabile e un elenco di questi può essere archiviato insieme in una variabile di matrice. Attraverso quella variabile di array, puoi accedere a ciascuno dei giorni.
È possibile creare un array vuoto creando un nuovo oggetto Array e memorizzandolo in una variabile. Questo array sarà vuoto; è necessario riempirlo con altre variabili per usarlo. Questo è un modo comune per creare variabili se dovessi leggere un elenco di cose dalla tastiera o da un file.
Nel seguente programma di esempio, viene creato un array vuoto usando il comando array e l'operatore di assegnazione. Tre stringhe (sequenze ordinate di caratteri) vengono lette dalla tastiera e "spinte" o aggiunte alla fine dell'array.
#! / usr / bin / env ruby
array = Array.new
3. volte lo fanno
str = gets.chomp
array.push str
fine
Un altro uso delle matrici è quello di memorizzare un elenco di cose che già sai quando scrivi il programma, come i giorni della settimana. Per memorizzare i giorni della settimana in un array, è possibile creare un array vuoto e aggiungerli uno ad uno all'array come nell'esempio precedente, ma esiste un modo più semplice. Puoi usare un matrice letterale.
Nella programmazione, un "letterale" è un tipo di variabile che è incorporato nel linguaggio stesso e ha una sintassi speciale per crearlo. Per esempio, 3 è un valore letterale numerico e "Rubino" è una stringa letterale. Un array letterale è un elenco di variabili racchiuse tra parentesi quadre e separate da virgole, come [1, 2, 3]. Si noti che qualsiasi tipo di variabili può essere memorizzato in un array, incluse variabili di diversi tipi nello stesso array.
Il seguente programma di esempio crea un array contenente i giorni della settimana e li stampa. Viene utilizzato un array letterale e il ogni loop viene utilizzato per stamparli. Nota che ogni non è incorporato nel linguaggio Ruby, piuttosto è una funzione della variabile array.
#! / usr / bin / env ruby
giorni = ["lunedì",
"Martedì",
"Mercoledì",
"Giovedi",
"Venerdì",
"Sabato",
"Domenica"
]
days.each do | d |
mette d
fine
Oltre al semplice ciclo continuo su un array - esaminando ogni singola variabile in ordine - è anche possibile accedere a singole variabili da un array utilizzando l'operatore indice. L'operatore indice prenderà un numero e recupererà una variabile dall'array la cui posizione nell'array corrisponde a quel numero. I numeri di indice iniziano da zero, quindi la prima variabile in un array ha un indice di zero.
Quindi, per esempio, per recuperare la prima variabile da un array che puoi usare array [0], e per recuperare il secondo che puoi usare array [1]. Nel seguente esempio, un elenco di nomi viene archiviato in un array e recuperato e stampato utilizzando l'operatore indice. L'operatore di indice può anche essere combinato con l'operatore di assegnazione per modificare il valore di una variabile in un array.
#! / usr / bin / env ruby
names = ["Bob", "Jim",
"Joe", "Susan"]
mette i nomi [0] # Bob
mette i nomi [2] # Joe
# Cambia Jim in Billy
names [1] = "Billy"