Met behulp van de Elke methode in Ruby

Elke array en hash in Ruby is een object en elk object van dit type heeft een set ingebouwde methoden. Programmeurs die nieuw zijn bij Ruby kunnen leren hoe ze de elk methode met een array en een hash door de eenvoudige voorbeelden te volgen die hier worden gepresenteerd.

Elke methode gebruiken met een matrixobject in Ruby

Maak eerst een array-object door de array toe te wijzen aan "stooges".

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

Roep vervolgens elke methode aan en maak een klein codeblok om de resultaten te verwerken.

 >> stooges.each {| stooge | print stroman + "\ n"} 

Deze code geeft de volgende output:

 Larry

 Curly

 Moe 

Voor elke methode zijn er twee nodig argumenten—Een element en een blok. Het element in de buizen is vergelijkbaar met een tijdelijke aanduiding. Wat je ook in de pijpen stopt, wordt in het blok gebruikt om elk element van de array op zijn beurt weer te geven. Het blok is de regel code die wordt uitgevoerd op elk van de array-items en krijgt het te verwerken element.

U kunt het codeblok eenvoudig uitbreiden naar meerdere regels met

instagram viewer
Doen om een ​​groter blok te definiëren:

 >> dingen. elk do | ding |

 print ding

 print "\ n"

 einde 

Dit is hetzelfde als het eerste voorbeeld, behalve dat het blok wordt gedefinieerd als alles na het element (in pijpen) en vóór de eindinstructie.

Elke methode gebruiken met een hash-object

Net als de array-object, de hash-object heeft een elke methode die kan worden gebruikt om een ​​codeblok toe te passen op elk item in de hash. Maak eerst een eenvoudig hash-object met enkele contactgegevens:

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

Roep vervolgens elke methode aan en maak een coderegel van één regel om de resultaten te verwerken en af ​​te drukken.

 >> contact_info.each {| key, value | afdruksleutel + '=' + waarde + "\ n"} 

Dit levert de volgende output op:

 name = Bob

 telefoon = 111-111-1111 

Dit werkt precies zoals elke methode voor een array-object met één cruciaal verschil. Voor een hash maak je twee elementen - een voor de hash sleutel en een voor de waarde. Net als de array zijn deze elementen tijdelijke aanduidingen die worden gebruikt om elk sleutel / waarde-paar door te geven aan het codeblok als Ruby loops door de hasj.

U kunt het codeblok eenvoudig uitbreiden naar meerdere regels door do te gebruiken om een ​​groter blok te definiëren:

 >> contact_info. elk do | key, value |

 print print key + '=' + waarde

 print "\ n"

einde 

Dit is hetzelfde als het eerste hash-voorbeeld, behalve dat het blok wordt gedefinieerd als alles na de elementen (in pijpen) en vóór de eindinstructie.