Array

Potete creare un array elencando alcuni elementi all'interno di parentesi quadre ([]) separandoli con delle virgole. Gli array di ruby possono contenere diversi tipi di oggetto.

ruby> ary = [1, 2, "3"]
   [1, 2, "3"]

 

Gli array possono essere concatenati e ripetuti come avviene per le stringhe.

ruby> ary + ["foo" , "bar"]
   [1, 2, "3" , "foo" , "bar"]
ruby> ary * 2
   [1, 2, "3" , 1, 2, "3"]

 

Possiamo usare degli indici numerici per riferirci a qualunque parte dell'array.

ruby> ary[0]
   1
ruby> ary[0,2]
   [1, 2]
ruby> ary[0..1]
   [1, 2]
ruby> ary[-2]
   2
ruby> ary[-2,2]
   [2, "3"]
ruby> ary[-2..-1]
   [2, "3"]

 

(Gli indici negativi indicano la distanza dalla fine dell'array, invece che dall'inizio.)

Gli array possono essere convertiti in e da stringhe, usando join e split rispettivamente:

ruby> str = ary.join(":")
   "1:2:3"
ruby> str.split(":")
   ["1" , "2" , "3"]

 

Hash

In un array associativo gli elementi sono identificati non da un indice numerico sequenziale, ma attraverso le chiavi che possono avere qualsiasi tipo di valore.  Un simile array è talvolta chiamato hash oppure dictionary; nel mondo di ruby preferiamo il termine hash.  Un hash può essere costruito indicando una coppia di elementi all'interno di parentesi graffe ({}).  E' possibile usare una chiave per trovare qualcosa all'interno di un hash, allo stesso modo in cui si usa un indice per trovare qualcosa in un array.

ruby> h = {1 => 2, "2" => "4"}
   {1=>2, "2"=>"4"}
ruby> h[1]
   2
ruby> h["2"]
   "4"
ruby> h[5]
   nil
ruby> h[5] = 10     # aggiunta di un valore
   10
ruby> h
   {5=>10, 1=>2, "2"=>"4"}
ruby> h.delete 1   # cancellazione di un valore
   2
ruby> h[1]
   nil
ruby> h
   {5=>10, "2"=>"4"}

 

Ti potrebbe interessare anche

commenta la notizia

C'è 1 commento
Graziano
Hai qualche domanda da fare?