Posted at

Rubyの配列操作の備忘録

More than 5 years have passed since last update.

以下の配列に対して色々な配列操作をしてみる。

ary = [1,2,3,4,5]


inject

eachよりもシンプルに書ける。

# 配列の合計を計算(inject)

# ブロックの第1引数がブロック内で最後に評価した値で書き換わる
p ary.inject(0) {|sum,value| sum + value}

# 配列の合計を計算(each)
sum = 0
ary.each {|value| sum = sum + value}
p sum


reduce

injectと同じ。

# injectの別名。injectと同様の動作をする。

p ary.reduce(0) {|sum,value| sum + value}


map

配列の各要素に対してブロックを実行する。

# 配列の要素を順番に取り出し、各要素に対してブロックを実行する

p ary.map {|item| item.to_s}
p ary

p ary.map! {|item| item.to_s}
p ary


collect

mapと同じ。

# mapの別名。mapと同様の動作をする。

p ary.collect {|item| item.to_s}
p ary

p ary.collect! {|item| item.to_s}
p ary