安定板じゃないから Cygwin には入らないかな? Cygwinに取り込まれるんだったら仕事用のツールも対応したいんだけど。*1
実は YARV が入ったのと、スコープが変わったらしいということしか知らない私が通りますよっと。イテレーター関連は実際に使う場面が来たら覚えよ。
とりあえず、影響が大きいかもしれないスコープだけ確認。
i = -1 0.upto(9) do |i| end puts i
が、1.8.x までは 「9」だったのが、1.9 以降は 「-1」になると。
C++ でいえば、
int i = -1; for (i = 0; i < 9; ++i) { } printf("%d\n", i);
だったのが、
int i = -1; for (int i = 0; i < 9; ++i) { } printf("%d\n", i);
になったと。
ループだけ見ると「気持ち悪っ!」とか思ってしまうんだけど、
puts "\##{RUBY_VERSION}" i = -1 proc = Proc.new do |i| Proc.new do puts i end end proc_array = [proc[10], proc[11]] proc_array.each do |pr| pr.call end puts i
だと、
#1.8.5 11 11 11
#1.9.0 10 11 -1
スッキリ。
心置きなくクロージャが使えますね。まぁ、このために変わったんですよね。たぶん。私の中での Proc#binding ブームの火が更に燃え上がろうとしている。つか、仕事場のマシン 1.8.5 かよ(苦笑)。ツール作るのにしか使ってないからいいけど。
あと、前の日記に書いた奴が、動かなくなったので注釈で追記しといた。
私の中での Proc#binding ブームの火が更n(ry