12.3 Arrays
Arrays bzw. Felder speichern eine geordnete Menge von Objekten. Um diese als Zeichenketten auszugeben, gibt es eine Reihe von Methoden, die ActiveSupport zur Verfügung stellt.
to_sentence
Eine sehr praktische Methode ist to_sentence . Mit dieser Methode werden die Elemente durch Komma getrennt ausgegeben, wobei das letzte Element zusätzlich mit einem »and« verknüpft wird. Über die Option :connector kann statt des »and« auch eine andere Zeichenkette festgelegt werden. Das zusätzliche Komma kann mit der Option :skip_last_comma deaktiviert werden:
obst = ["Apfel", "Banane", "Birne"] obst.to_sentence => "Apfel, Banane, and Birne" obst.to_sentence :connector => 'und' => "Apfel, Banane, und Birne" obst.to_sentence :connector => 'und', :skip_last_comma => true => "Apfel, Banane und Birne"
to_param
Die Methode to_param verbindet die Elemente mit einem Schrägstrich, was meist der Generierung von Pfaden in URLs dient.
list = ["admin", "flights", 12] list.to_param => "admin/flights/12"
in_groups_of
Die Methode in_groups_of iteriert über ein Array und liefert Teilarrays mit der Anzahl der Elemente, die der Methode als Parameter übergeben wurden. Nicht gesetzte Elemente im letzten Teilarray werden auf nil gesetzt:
list = [1,2,3,4,5,6,7] list.in_groups_of(3) => [[1, 2, 3], [4, 5, 6], [7, nil, nil]]
split
Die Methode split teilt ein Array in Teilarrays an der übergebenen Stelle bzw. am Rückgabewert eines optionalen Blocks.
list = [1, 2, 3, 4, 5] list.split(3) => [[1, 2], [4, 5]] list = [1,2,3,4,5,6,7,8,9,10] list.split { |i| i % 3 == 0 } => [[1, 2], [4, 5], [7, 8], [10]]
Neu in Rails 2.0
Ein zufälliges Element aus einem Array kann mit der Methode rand ermittelt werden.
%w(Hauptgewinn Gewinn Niete).rand => "Gewinn"
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.