Jedes Array und jeder Hash in Ruby ist ein Objekt, und jedes Objekt dieses Typs verfügt über eine Reihe integrierter Methoden. Programmierer, die Ruby noch nicht kennen, können lernen, wie man das verwendet jeder Methode mit einem Array und einem Hash, indem Sie die hier dargestellten einfachen Beispiele befolgen.
Erstellen Sie zunächst ein Array-Objekt, indem Sie das Array "Handelnden" zuweisen.
>> stooges = ['Larry', 'Curly', 'Moe']
Rufen Sie als Nächstes die jeweilige Methode auf und erstellen Sie einen kleinen Codeblock, um die Ergebnisse zu verarbeiten.
>> stooges.each | Handlanger | Handlanger drucken + "\ n"
Dieser Code erzeugt die folgende Ausgabe:
Larry
Lockig
Moe
Jede Methode akzeptiert zwei Argumente - ein Element und einen Block. Das in den Pipes enthaltene Element ähnelt einem Platzhalter. Was auch immer Sie in die Pipes einfügen, wird im Block verwendet, um jedes Element des Arrays der Reihe nach darzustellen. Der Block ist die Codezeile, die für jedes der Array-Elemente ausgeführt und dem zu verarbeitenden Element übergeben wird.
Mit können Sie den Codeblock einfach auf mehrere Zeilen erweitern tun um einen größeren Block zu definieren:
>> stuff.each do | thing |
Drucksache
"\ n" drucken
Ende
Dies ist dasselbe wie im ersten Beispiel, außer dass der Block als alles hinter dem Element (in Pipes) und vor der Endanweisung definiert wird.
Genau wie das Array-Objekt verfügt das Hash-Objekt über eine Each-Methode, mit der ein Codeblock auf jedes Element im Hash angewendet werden kann. Erstellen Sie zunächst ein einfaches Hash-Objekt, das einige Kontaktinformationen enthält:
>> contact_info = 'name' => 'Bob', 'phone' => '111-111-1111'
Rufen Sie dann die jeweilige Methode auf und erstellen Sie einen einzeiligen Codeblock, um die Ergebnisse zu verarbeiten und zu drucken.
>> contact_info.each | Schlüssel, Wert | Drucktaste + '=' + Wert + "\ n"
Dies erzeugt die folgende Ausgabe:
Name = Bob
Telefon = 111-111-1111
Dies funktioniert genauso wie die jeweilige Methode für ein Array-Objekt mit einem entscheidenden Unterschied. Für einen Hash erstellen Sie zwei Elemente - eines für den Hash-Schlüssel und eines für den Wert. Wie das Array sind diese Elemente Platzhalter, die verwendet werden, um jedes Schlüssel / Wert-Paar in den Codeblock zu übergeben, während Ruby den Hash durchläuft.
Sie können den Codeblock leicht auf mehrere Zeilen erweitern, indem Sie do verwenden, um einen größeren Block zu definieren:
>> contact_info.each do | key, value |
print Drucktaste + '=' + Wert
"\ n" drucken
Ende
Dies ist dasselbe wie im ersten Hash-Beispiel, außer dass der Block als alles hinter den Elementen (in Pipes) und vor der End-Anweisung definiert ist.