From: WATANABE Hirofumi Date: 1999-03-06T16:12:07+09:00 Subject: [ruby-list:12594] Re: alternative name of iterator わたなべです. Shugo Maeda writes: :> y = a.sort do |a, b| :> b <=> a :> end :> :> はエラーに。 : :そうそう、ボクも最初{}は使わないぞ、と決めたのですが、これに気付いて :速攻で挫折しました(^_^; そもそも {} と do ... end の結合強度が違うのはなぜでしょう? :他にも引数を取るイテレータでは、 : :foo arg do ... end はOKだが :foo arg { ... } はNG(argがイテレータだと思われてしまう) : :という違いがあります。 というだけなら foo(arg) { ... } でいいわけだし. foo arg do ... end を活かすために bar = foo do ... end がエ ラーになってしまうと, 立派な Ruby hacker が育つころにはみな 挫折者になってしまいます. うそ. たぶん bar = (foo arg do ... end) ってのは受け入れ難いけど bar = foo(arg) do ... end なら全く問題ないという人は多いと思う. つまり do ... end も {} と同じ結合強度でいいのではないでしょうか? -- わたなべひろふみ