From: matz@... (Yukihiro Matsumoto) Date: 1999-11-18T14:34:29+09:00 Subject: [ruby-list:18714] Re: ruby 本96頁と97頁の例題 まつもと ゆきひろです In message "[ruby-list:18713] ruby 本96頁と97頁の例題" on 99/11/18, "Shigeo Kobayashi" writes: |10.times do | print "!foo\n" |end | |5.upto 10 do |i| | print i |end | |のそれぞれを、do を { に、end を } に置き換えて |実行すると 5.upto 10 { |i| の部分だけがparse error |になります。なにか間違っていますでしょうか? いえ、これが正しい動作です。つまり、do endと { } では優先順 位が違うので、 5.upto 10 do .. end は 5.upto(10) do .. end と解釈され、ブロックはuptoに渡されますが、 5.upto 10 { .. } は 5.upto(10{ .. }) と解釈され、メソッド呼び出しでない「10」にブロックを渡そうと して文法エラーになります。p.94の脚注71はそういう意味です。 まつもと ゆきひろ /:|)