Ruby(1.8.7)の書き方あれこれ

Ruby(1.8.7)では、こういう書き方もできるということの備忘録。

配列の初期化

同じ値で一度に初期化
length = 10
ary = [nil] * 10

p ary
[nil, nil, nil, nil, nil, nil, nil, nil, nil, nil]
Rangeオブジェクトを配列化
ary = (0..9).to_a

p ary
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Rangeオブジェクトを用いた繰り返し
(0..9) do |i| ary << i end

p ary
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
uptoメソッドを使用
ary = []
0.upto(9) do |i| ary << i end

p ary
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
downtoメソッドを使用
ary = []
9.downto(0) do |i| ary << i end

p ary
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

配列への追加

ary = [1,2]
ary += [0] * 8
[1, 2, 0, 0, 0, 0, 0, 0, 0, 0]

配列の長さを知る

p ary.length
p ary.size

配列の各要素を知る

ary = (0..9).to_a
ary[0..-1].each do |val| p val end
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]