Ruby入門 - 配列・ハッシュ・範囲

トップ > Ruby入門 > 配列・ハッシュ・範囲

配列(Array)

[ ... ] を用いて、配列(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)

{ ... } を用いて、文字列を添字とする配列を表現することもできます。これを ハッシュ(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...
}

範囲(Range)

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

Copyright(C) 2014 杜甫々
初版:2014年12月30日、最終更新:2014年12月30日
http://www.tohoho-web.com/ruby/array.html