From: SASADA Koichi Date: 2007-06-16T12:38:00+09:00 Subject: [ruby-dev:31009] Re: ("a".."f").step(2) {|x| p x}  ささだです。 Yukihiro Matsumoto wrote: > 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 つのブ ロック渡ししか対応していません。これは、そんなに変な制限ではな いと思います。  なので、String#upto を funcall で呼んでもらう必要がありま す。ただ、excl を渡す方法がないので、どうしたもんだか悩んでい ました。 -- // SASADA Koichi at atdot dot net