From: Yukihiro Matsumoto Date: 2007-06-16T22:58:35+09:00 Subject: [ruby-dev:31012] Re: ("a".."f").step(2) {|x| p x} まつもと ゆきひろです In message "Re: [ruby-dev:31009] Re: ("a".."f").step(2) {|x| p x}" on Sat, 16 Jun 2007 12:38:00 +0900, SASADA Koichi 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 つのブ |ロック渡ししか対応していません。これは、そんなに変な制限ではな |いと思います。 ごめんなさい。「ひとつのスタックフレームには 1 つのブロック渡 ししか対応していません」というのがなにを意味するのかよくわか りません。ので、変な制限でないのかどうかの判断もできません。 rb_iterate()全般が動かないというわけではないようですが、たと えばeach_with_indexが動いてstepが動かない理由ってのはすぐに ピンとは来ませんね。 まつもと ゆきひろ /:|)