Elke array en hash in Ruby is een object en elk object van dit type heeft een set ingebouwde methoden. Nieuwe programmeurs 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.
Maak eerst een arrayobject door de array toe te wijzen aan "stooges".
>> stooges = ['Larry', 'Curly', 'Moe']
Roep vervolgens elke methode aan en maak een klein blok code om de resultaten te verwerken.
>> stooges.each | stooge | print stroman + "\ n"
Deze code produceert de volgende uitvoer:
Larry
gekruld
Moe
Elke methode heeft twee argumenten: een element en een blok. Het element in de pijpen is vergelijkbaar met een tijdelijke aanduiding. Wat u in de pijpen plaatst, wordt in het blok gebruikt om elk element van de reeks om de beurt weer te geven. Het blok is de coderegel die op elk van de arrayitems wordt uitgevoerd en het te verwerken element wordt overhandigd.
U kunt het codeblok eenvoudig uitbreiden naar meerdere regels met behulp van Doen om een groter blok te definiëren:
>> stuff.each do | thing |
print ding
"\ n" afdrukken
einde
Dit is hetzelfde als het eerste voorbeeld, behalve dat het blok is gedefinieerd als alles na het element (in pijpen) en vóór de eindverklaring.
Net als het array-object heeft het hash-object een methode die kan worden gebruikt om een codeblok toe te passen op elk item in de hash. Maak eerst een eenvoudig hash-object dat enige contactgegevens bevat:
>> contact_info = 'name' => 'Bob', 'phone' => '111-111-1111'
Roep vervolgens elke methode aan en maak een regelregelblok om de resultaten te verwerken en af te drukken.
>> contact_info.each | key, value | print key + '=' + waarde + "\ n"
Dit levert de volgende uitvoer op:
name = Bob
telefoon = 111-111-1111
Dit werkt precies zoals elke methode voor een array-object met één cruciaal verschil. Voor een hash maakt u twee elementen: een voor de hashsleutel en een voor de waarde. Net als de array zijn deze elementen tijdelijke aanduidingen die worden gebruikt om elk sleutel / waardepaar in het codeblok door te geven terwijl Ruby de hash doorloopt.
U kunt het codeblok eenvoudig uitbreiden naar meerdere regels door do te gebruiken om een groter blok te definiëren:
>> contact_info.each do | sleutel, waarde |
print print key + '=' + waarde
"\ n" afdrukken
einde
Dit is hetzelfde als het eerste hash-voorbeeld, behalve dat het blok is gedefinieerd als alles na de elementen (in pijpen) en vóór de eindinstructie.