Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 14 di 45
  • livello principiante
Indice lezioni

Array - I

L'uso degli Array all'interno di Ruby: i metodi più comuni
L'uso degli Array all'interno di Ruby: i metodi più comuni
Link copiato negli appunti

Un array può essere visto come una lista di oggetti non necessariamente dello stesso tipo. Gli array sono istanze della classe Array e vanno dunque creati nel seguente modo:

arr = Array.new

in alternativa è possibile creare un array anche scrivendo semplicemente:

arr = [] 

in entrambi i casi creeremo un array vuoto. Se invece si deve creare un array non vuoto è possibile passare una lista di valori separati da virgole:

arr = [1, 2, "tre", "IV"]

in questo modo abbiamo creato un array di quattro elementi, due interi e due stringhe. È possibile chiamare il metodo new anche con uno o due parametri, il primo indica le dimensioni dell'array mentre il secondo il valore di inizializzazione:

> arr = Array.new(3)
=> [nil, nil, nil]
arr = Array.new(3, 100)
=> [100, 100, 100]

Per le altre forme del metodo new rimando alla documentazione ufficiale.

Per inserire nuovi elementi nell'array o per modificare quelli esistenti si utilizza il metodo []=

> arr = [1, 2, 2]
=> [1, 2, 2]
> arr[2] = 3
=> 3
> arr
=> [1, 2, 3]

Si può anche indicare un indice superiore alle dimensioni dell'array, in tal caso l'array si estende automaticamente e gli elementi compresi tra il l'indice indicato e l'ultimo elemento dell'array sono impostate a nil:

> arr[8] = 9
=> 9
> arr
=> [1, 2, 3, nil, nil, nil, nil, nil, 9]

Come indice è possibile indicare due interi che rappresentano rispettivamente l'indice di inizio e il numero di elementi da sostituire con il valore passato:

> arr = [1, 2, 3, 4, 5]
=> [1, 2, 3, 4, 5]
> arr[0,2] = ["I", "II"]
=> ["I", "II"]
> arr
=> ["I", "II", 3, 4, 5]
> arr[2,3] = "III"
=> "III"
> arr
=> ["I", "II", "III"]

in questo modo abbiamo creato un array di cinque elementi e poi abbiamo sostituito i primi due (indice 0 e numero di elementi 2) con i valore "I" e "II". Abbiamo infine sostituito i restanti tre elementi con il valore "III". Analogamente può essere usato anche un range con ovvio significato, l'esempio precedente può essere riscritto così:

> arr = [1, 2, 3, 4, 5]
=> [1, 2, 3, 4, 5]
> arr[0..1] = ["I", "II"]
=> ["I", "II"]
> arr
=> ["I", "II", 3, 4, 5]
> arr[2..4] = "III"
=> "III"
> arr
=> ["I", "II", "III"]

Per il resto, per quel che riguarda i range, valgono le stesse proprietà già viste per le stringhe.

L'accesso agli elementi avviene attraverso il metodo [], o il metodo slice che prevede anche una forma distruttiva slice! che elimina dall'array gli elementi indicati dall'indice. Come per []=, anche [], può prendere come argomenti un intero, oppure due interi o infine un range.

Ti consigliamo anche