Rubyのeachでパラメータが参照できない?!forとの違い

  • このエントリーをはてなブックマークに追加

似ているようで微妙違うeachとfor

似ているようで少し違うrubyのeachとforの例をご紹介したいと思います。

nums = [1,2,3,4]
sum = 0
for n in nums
    sum += n
end
puts sum # sum => 10
puts n   # n => 4 ※参照できてるのがポイント!!

for文で使われてるnがforの外でも参照出来ているのがポイントです!

nums = [1,2,3,4]
sum = 0
nums.each do |a|
    sum += a
end
puts sum # sum => 10
puts a   # ERROR!!!!

each文で定義されたaはeachの外では参照できないんですね。

同じような処理でも小さな違いがありますね。

何か参考になれば幸いです(*^^*)

  • このエントリーをはてなブックマークに追加

コメントを残す

*