Varje grupp och hash i Ruby är ett objekt, och varje objekt av dessa typer har en uppsättning inbyggda metoder. Programmerare som är nya för Ruby kan lära sig att använda varje metod med en matris och en hash genom att följa de enkla exemplen som presenteras här.
Skapa först ett arrayobjekt genom att tilldela matrisen till "stooges".
>> stooges = ['Larry', 'Curly', 'Moe']
Därefter, ring varje metod och skapa ett litet kodblock för att bearbeta resultaten.
>> stooges.each | stooge | skriv ut stooge + "\ n"
Denna kod producerar följande utgång:
Larry
Lockigt
Moe
Varje metod tar två argument - ett element och ett block. Elementet i rören liknar en platshållare. Vad du än placerar i rören används i blocket för att representera varje element i matrisen i sin tur. Blocket är kodraden som körs på vart och ett av arrayobjekten och överlämnas elementet att behandlas.
Du kan enkelt utöka kodblocket till flera rader med hjälp av do för att definiera ett större block:
>> stuff.each gör | sak |
skriva ut sak
tryck "\ n"
slutet
Detta är detsamma som det första exemplet, förutom att blocket definieras som allt efter elementet (i rör) och före slutförklaringen.
Precis som arrayobjektet har hashobjektet varje metod som kan användas för att tillämpa ett kodblock på varje objekt i hash. Skapa först ett enkelt hashobjekt som innehåller viss kontaktinformation:
>> contact_info = 'name' => 'Bob', 'phone' => '111-111-1111'
Ring sedan till varje metod och skapa ett enda rad kodblock för att bearbeta och skriva ut resultaten.
>> contact_info.each | nyckel, värde | tryckknapp + '=' + värde + "\ n"
Detta ger följande utgång:
namn = Bob
telefon = 111-111-1111
Detta fungerar precis som varje metod för ett arrayobjekt med en avgörande skillnad. För en hash skapar du två element-en för hash-nyckeln och en för värdet. Liksom matrisen är dessa element platshållare som används för att skicka varje nyckel- / värdepar i kodblocket när Ruby loopar genom hash.
Du kan enkelt utöka kodblocket till flera rader genom att använda do för att definiera ett större block:
>> contact_info.each do | nyckel, värde |
print print key + '=' + värde
tryck "\ n"
slutet
Detta är detsamma som det första hash-exemplet, förutom att blocket definieras som allt efter elementen (i rör) och före slutförklaringen.