[ ... ] を用いて、配列(Array)を用いることができます。配列の添字は 0 から始まります。
days = [ "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" ] puts days[0] #=> Sun puts days[1] #=> Mon
二重、三重の配列を扱うことも可能です。
data = [ [ "A", 100 ], [ "B", 200 ], [ "C", 300 ] ] puts data[0][0] #=> A puts data[2][1] #=> 300
配列の個数は size または length メソッドを用て取得します。
days = [ "Sun", "Mon", "Tue" ] puts days.size #=> 3 puts days.length #=> 3
配列を繰り返し参照するには、each を用います。
days = [ "Sun", "Mon", "Tue" ] days.each { |x| puts x #=> Sun, Mon, Tue }
{ ... } を用いて、文字列を添字とする配列を表現することもできます。これを ハッシュ(Hash)と呼びます。
mon = { "Jan" => 1, "Feb" => 2, "Mar" => 3, "Apr" => 4, "May" => 5, "Jun" => 6, "Jul" => 7, "Aug" => 8, "Sep" => 9, "Oct" => 10, "Nov" => 11, "Dec" => 12 } puts mon['May'] #=> 5 puts mon['Oct'] #=> 10
配列の個数は size または length メソッドを用て取得します。
mon = { "Jan" => 1, "Feb" => 2, "Mar" => 3 } puts mon.size #=> 3 puts mon.length #=> 3
ハッシュの各要素について処理を繰り返すには、each_key, each_value, each_pair を使用します。処理される順番は不同となります。
mon = { "Jan" => 1, "Feb" => 2, "Mar" => 3, "Apr" => 4, "May" => 5, "Jun" => 6, "Jul" => 7, "Aug" => 8, "Sep" => 9, "Oct" => 10, "Nov" => 11, "Dec" => 12 } mon.each_key { |key| puts key #=> Aug, Oct, Feb... } mon.each_value { |val| puts val #=> 8, 10, 2... } mon.each_pair { |key, val| puts "#{key}=#{val}" #=> Aug=8, Oct=10, Feb=2... }
n..m は範囲(Range)を表します。
for i in 1..5 do puts i #=> 1, 2, 3, 4, 5 end
n..m が n以上 m以下であるのに対し、n...m は n以上 m未満を意味します。
for i in 1...5 do puts i #=> 1, 2, 3, 4 end