From: Yukihiro Matsumoto Date: 2007-06-16T01:40:00+09:00 Subject: [ruby-dev:31004] Re: ("a".."f").step(2) {|x| p x} まつもと ゆきひろです In message "Re: [ruby-dev:31002] ("a".."f").step(2) {|x| p x}" on Fri, 15 Jun 2007 20:23:39 +0900, Tanaka Akira writes: | |string の range の step で引数が効かないように思います。 | |% ./ruby -ve '("a".."f").step(2) {|x| p x}' |ruby 1.9.0 (2007-06-15 patchlevel 0) [i686-linux] rb_iterate()になんらかの問題があって、bl_procに渡した関数で はなく、その外側のブロックを直接呼んでしまっているようです。 が、YARV coreの仕組みはよくわからず、それ以上は追えませんで した。 |1.8 だと、以下のように異なる結果になります。 こちらはbl_proc(この場合はstep_i関数)が呼ばれてフィルタリン グしてくれています。