- 1. Hash
Sie können ein Array aus einer Liste mehrerer Objekte erstellen, indem Sie eckige Klammern ([]) verwenden und diese durch Kommas trennen. Arrays in Ruby können verschiedene Arten von Objekten enthalten.
ruby> ary = [1, 2, "3"] [1, 2, "3"]
Arrays können genau wie Strings verkettet und iteriert werden.
ruby> ary + ["foo", "bar"] [1, 2, "3", "foo", "bar"] ruby> ary * 2 [1, 2, "3", 1, 2, "3"]
Wir können numerische Indizes verwenden, um auf jeden Teil eines Arrays zu verweisen.
ruby> ary[0] 1 ruby> ary[0,2] [1, 2] ruby> ary[0..1] [1, 2] ruby> ary[-2] 2 ruby> ary[-2,2] [2, "3"] ruby> ary[-2..-1] [2, "3"]
(Ein negativer numerischer Index bedeutet einen Versatz vom Ende des Arrays statt vom Anfang.)
Arrays können mit den Methoden join und split in Strings und zurück von Strings in Arrays umgewandelt werden:
ruby> str = ary.join(":") "1:2:3" ruby> str.split(":") ["1", "2", "3"]
Hash
Ein assoziatives Array hat Elemente, auf die nicht über numerische Indizes zugegriffen wird, sondern über Schlüssel ( keys ), die ein bestimmtes Gewicht haben können. Solche Arrays werden Hashes oder Wörterbücher genannt. In der Ruby-Welt ist es besser, sie Hashes zu nennen. Ein Hash kann mit geschweiften Klammern ({}) konstruiert werden. Sie können den Schlüssel verwenden, um etwas in einem Hash nachzuschlagen, genau wie Sie einen Index verwenden würden, um etwas in einem Array nachzuschlagen.
ruby> h = {1 => 2, "2" => "4"} {1=>2, "2"=>"4"} ruby> h[1] 2 ruby> h["2"] "4" ruby> h[5] nil ruby> h[5] = 10 # appending value 10 ruby> h {5=>10, 1=>2, "2"=>"4"} ruby> h.delete 1 # deleting value 2 ruby> h[1] nil ruby> h {5=>10, "2"=>"4"}