From: matz@... (Yukihiro Matsumoto) Date: 1998-10-16T16:53:31+09:00 Subject: [ruby-list:10150] Re: for が修飾子だったら まつもと ゆきひろです In message "[ruby-list:10149] Re: for が修飾子だったら" on 98/10/16, Junichi Kurokawa writes: | Y> |(0..NUM-1).each | Y> の段階で行の終りが文の終りだと見倣してしまうからですね. | |で、次の行以降にブロックがあるにもかかわらずなぜrubyは「の段階で行の終り |が文の終りだと見倣してしまう」のでしょうね? それは (0..NUM-1).each が正常な(ブロックのついていない)メソッド呼び出しだからです. 実際にはeachはブロックを要求するのでエラーになりますが,それ はパーザには知られていない情報です. Perlのように文末には必ず ; を要求するような言語ならともかく Rubyでは行末で文が切れてしまうので,明示的に継続することが分 かる情報がないと「ああ,ここで文が終ったんだな」と思い込んで しまいます. これを避けるような文法を書くことは不可能ではないのかも知れま せんが,ただでさえややこしいRubyの文法をこのためだけにこれ以 上複雑にする必要もないように思ってます. まつもと ゆきひろ /:|)