ささだです.

Yukihiro Matsumoto wrote:
> で、そこで使われていたのはscanではなくfor文でした。
> 
> つまり
> 
>   for line in ARGF
>     ...
>   end
> 
> ではパラメータがひとつしかなく、yieldにもひとつしか値が渡さ
> れないのにiseq->arg_restが0になり配列として渡されます。まあ、

 なるほど.

 仰るとおり,この理由は for の意味を従来通り厳密に適用するために,

 for [vars] in [expr]; ...
を,
 [expr].each{|*tmp| vars = *tmp ...}
と展開するからです.

 ちょっと,これをなんとかする方法を思いつかないんですが,なんとかし
たほうがいいでしょうか.

-- 
// SASADA Koichi at atdot dot net