Poiché gli hashes archiviano una raccolta di riferimenti a oggetti, tendono a comportarsi in modo simile agli array. Tuttavia, a differenza degli array, gli hash di Ruby usano qualsiasi tipo di oggetto Ruby come indice, mentre gli array usano numeri interi.
Un hash di Ruby ha due oggetti: l'indice, che chiamiamo principalmente una chiave e l'altro che rappresenta il valore effettivo. Sia la chiave che il valore di un hash possono essere di qualsiasi tipo.
Come creare un hash di rubino
Come accennato, gli hash seguono il formato di un dizionario in cui una chiave rappresenta un valore. Un esempio sarebbe un elenco di nomi utente, ognuno dei quali punta al rispettivo indirizzo email.
Per creare un hash di rubino, racchiudere i valori in una coppia di parentesi graffe:
La sintassi precedentemente menzionata crea un hash vuoto senza coppie di valore chiave.
Per aggiungere dati all'hash, possiamo usare la freccia o la notazione del colon. Ad esempio, il codice seguente rappresenta gli hash di rubino validi:
Shrek: "[email protected] ", leoin:" [email protected] ", Tropicalne:" [email protected] "
# Notazione freccia
shrek => "[email protected] ", leoin =>" [email protected] ", tropicalne =>" [email protected] "
Entrambi i due formati sono validi e Ruby li interpreterà come validi hash di Ruby. Come noterai, una virgola separa ogni coppia di valore chiave in un hash.
Oltre a impostare un hash all'improvviso, puoi assegnare i valori a una variabile come faresti per un numero intero.
Per esempio:
user_db = shrek: "[email protected] ", leoin:" [email protected] ", Tropicalne:" [email protected] "
mette user_db
Un altro modo per inizializzare un hash vuoto è usare la classe hash. Per esempio:
user_db = hash.nuovo
Una volta inizializzato un hash vuoto, è possibile assegnare valori usando il segno =.
Per esempio:
user_db = hash.nuovo
user_db ["shrek"] = "[email protected] "
user_db ["leoin"] = "[email protected] "
user_db ["tropicalne"] = "[email protected] "
mette user_db
Nell'esempio sopra, creiamo un hash vuoto e ci assegniamo in seguito.
Passiamo il tasto hash all'interno delle staffe quadrate e il valore target utilizzando l'operatore di assegnazione.
L'esecuzione del codice sopra dovrebbe fornire l'output a tutti i dati nell'hash:
"shrek" => "[email protected] "," leoin "=>" [email protected] "," tropicalne "=>" [email protected] "
Come recuperare i valori dell'array
Per ottenere un valore in un hash, utilizziamo una staffa quadrata e passiamo la chiave di destinazione:
Per esempio:
mette user_db ["shrek"]
Ciò dovrebbe restituire il valore associato alla chiave in questo caso, l'indirizzo e-mail:
[email protected]
Un altro modo per ottenere un valore all'interno di un hash è utilizzare il metodo di recupero. In questo caso, passiamo il tasto target all'interno di una coppia di parentesi.
Per esempio:
mette user_db.Fetch ("Shrek")
Vari metodi di hash di rubino
Ora, guardiamo alcuni metodi di hash che puoi usare per manipolare e lavorare con gli oggetti hash in Ruby:
1. Unire
Il primo metodo è il metodo di unione. Il metodo di unione ci consente di combinare due o più hash per creare un hash.
Supponiamo che abbiamo due hash di sviluppatori e ingegneri come:
sviluppatori = "Anne": "Python", "Liz": "Ruby on Rails", "Martin": "Java", "Peter": "C ++"
# Ingegneria
Ingegneri = "Henry": "Ingegnere chimico", "Ruby": "Electrical Engineer", "Liam": "Material Engineer"
Possiamo combinare entrambi gli hash per creare un hash di dipendenti come:
dipendenti = sviluppatori.unire (ingegneri)
mette i dipendenti
Questo creerà un hash, con la chiave e i valori di entrambi gli hash combinati:
: Anne => "python" ,: liz => "Ruby on Rails" ,: martin => "java" ,: peter => "c ++" ,: henry => "ingegnere chimico" ,: ruby => "elettrico Ingegnere ",: liam =>" Ingegnere dei materiali "
2. Ordinare
Supponiamo di voler ordinare i valori in un hash. Possiamo farlo usando il metodo di ordinamento. Ordina automaticamente i valori in ordine crescente.
Ecco un esempio:
sviluppatori = a: "Python", x: "Ruby on Rails", D: "Java", C: "C ++"
mette gli sviluppatori.ordinare
3. Tasti
Inoltre, Ruby fornisce il metodo delle chiavi che consente di ottenere le chiavi disponibili in un hash. Per esempio:
sviluppatori = a: "Python", x: "Ruby on Rails", D: "Java", C: "C ++"
mette gli sviluppatori.tasti
L'esempio sopra restituirà solo le chiavi del dizionario e nessun valori:
UN
X
D
C
4. Valori
Se vuoi ottenere solo i valori nell'hash, puoi usare il metodo hash come:
sviluppatori = a: "Python", x: "Ruby on Rails", D: "Java", C: "C ++"
mette gli sviluppatori.valori
Il risultato è solo un insieme di valori nel dizionario nell'ordine in cui appaiono:
Pitone
Ruby sui binari
Giava
C++
Conclusione
Questo articolo è stato un rapido tutorial su come lavorare con gli hash in Ruby. In questo, abbiamo discusso di come dichiarare un hash, aggiungere valori, valori di recupero e vari metodi che puoi usare per interagire con gli hash.