Utilizzando il metodo Each in Ruby

Ogni array e hash in Ruby è un oggetto e ogni oggetto di questi tipi ha una serie di metodi integrati. I programmatori che non conoscono Ruby possono imparare a usare il ogni metodo con un array e un hash seguendo i semplici esempi presentati qui.

Utilizzo di ogni metodo con un oggetto array in Ruby

Innanzitutto, crea un oggetto array assegnando l'array a "tirapiedi".

 >> stooges = ['Larry', 'Curly', 'Moe'] 

Quindi, chiama ciascun metodo e crea un piccolo blocco di codice per elaborare i risultati.

 >> stooges.each | stooge | stampa tirapiedi + "\ n" 

Questo codice produce il seguente output:

 Larry

 Riccio

 Moe 

Ciascun metodo accetta due argomenti: un elemento e un blocco. L'elemento, contenuto all'interno dei tubi, è simile a un segnaposto. Tutto ciò che si inserisce all'interno dei tubi viene utilizzato nel blocco per rappresentare a turno ciascun elemento dell'array. Il blocco è la riga di codice che viene eseguita su ciascuno degli elementi dell'array e gli viene consegnato l'elemento da elaborare.

È possibile estendere facilmente il blocco di codice a più righe utilizzando fare per definire un blocco più grande:

 >> stuff.each do | cosa |

 cosa di stampa

 stampa "\ n"

 fine 

È lo stesso del primo esempio, tranne per il fatto che il blocco è definito come tutto dopo l'elemento (in pipe) e prima dell'istruzione end.

Utilizzo di ogni metodo con un oggetto hash

Proprio come l'oggetto array, l'oggetto hash ha un metodo ogni che può essere usato per applicare un blocco di codice su ogni elemento nell'hash. Innanzitutto, crea un semplice oggetto hash che contenga alcune informazioni di contatto:

 >> contact_info = 'name' => 'Bob', 'phone' => '111-111-1111' 

Quindi, chiamare ciascun metodo e creare un blocco di codice a riga singola per elaborare e stampare i risultati.

 >> contact_info.each | chiave, valore | chiave di stampa + '=' + valore + "\ n" 

Questo produce il seguente output:

 nome = Bob

 telefono = 111-111-1111 

Funziona esattamente come ogni metodo per un oggetto array con una differenza cruciale. Per un hash, crei due elementi: uno per la chiave hash e uno per il valore. Come l'array, questi elementi sono segnaposto che vengono utilizzati per passare ogni coppia chiave / valore nel blocco di codice mentre Ruby scorre attraverso l'hash.

Puoi estendere facilmente il blocco di codice a più righe usando do per definire un blocco più grande:

 >> contact_info.each do | chiave, valore |

 stampa chiave di stampa + '=' + valore

 stampa "\ n"

fine 

Questo è lo stesso del primo esempio di hash, tranne per il fatto che il blocco è definito come tutto dopo gli elementi (in pipe) e prima dell'istruzione end.