![]() Prev |
![]() Contents |
![]() Next |
Ruby user's guide | Arrays and associative arrays |
You can create an array by listing some items within
square brackets ([]
) and separating them with
commas. Ruby's arrays can accomodate diverse object types.
ruby> ary = [1, 2, "3"] [1, 2, "3"]
Arrays can be concatenated or repeated just as strings can.
ruby> ary + ["foo", "bar"] [1, 2, "3", "foo", "bar"] ruby> ary * 2 [1, 2, "3", 1, 2, "3"]
We can use index numbers to refer to any part of a array.
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"]
(Negative indices mean offsets from the end of an array, rather than the beginning.)
Arrays can be converted to and from strings, using join
and split
respecitvely:
ruby> str = ary.join(":") "1:2:3" ruby> str.split(":") ["1", "2", "3"]
Associative arrays are another important data
structure. An associative array is an array whose values need
not be referenced by a numeric subscript, but by keys which
can have any sort of value. An assosiative array is sometimes
called a hash or dictionary; in the ruby world, we
prefer the term hash. A hash can be constructed by quoting pairs
of items within curly braces ({}
). You use a
key to find something in a hash, much as you use an index to find
something in an array.
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[1] = nil # deleting value nil ruby> h[1] nil ruby> h {5=>10, "2"=>"4"}
![]() Prev |
![]() Contents |
![]() Next |