hakeの日記

Windows環境でプログラミングの勉強をしています。

eachも

昨日の件、injectに限らないというコメントを頂いたので実験

a = 0
x = [1,2,3,4,5]
p x.each{|a| a}
      # => [1, 2, 3, 4, 5]
p a   # => 5

本当だ、今まで使っていて問題がなかったのは偶然だったのか。

追記

Ruby-listのアーカイブを読んでいたら、この仕様Ruby1.9系では変わったという話題がありました。試したところ確かに変わってました。やっぱり、こっちの方が良いなぁ

ruby -v
ruby 1.9.1 (2008-12-01 revision 20438) [arm5tel-linux]
-----

a = 0
x = [1,2,3,4,5]
p x.each{|a| a}
      # => [1, 2, 3, 4, 5]
p a   # => 0