前田です。
# 来週いよいよ卒論の中間発表なのですが、現実逃避(^^;

In message "[ruby-list:10261] Re: for  が修飾子だったら"
市川 裕隆 <hirotaka.ichikawa / tosmec.toshiba.co.jp> wrote:

|	手元の1.1c2では、
|		print 3.to_s { print "g" }
|		print "f"
|	の出力が
|		3f
|	で、to_sは与えられたブロックを無視しています。
|	parse errorにもなりません。

ブロックが実行されないのはto_sが内部でyieldを呼んでないから
であって、ブロックがメソッドに渡されてないからではありません。

print [nil].each { print "g" }

とすればgと出力されると思います。

|	もしかして「改行は文の区切りになりえない」という仕様に
|	変えたら改行をはさんだブロックも評価できるようになるのかな、
|	と思いましたがどうでしょう。

たぶん改行をセパレータとしない方が(さらに言えば括弧の省略なども
ない方が)文法はシンプルになると思うのですが、シンプルな文法の方
が使いやすいとは必ずしも言えないんじゃないかと思います。

print("foo");

を

print "foo"

と書けるはRubyの魅力の一つですよね。

-- 
前田 修吾 <shugo / aianet.ne.jp>