小西弘将です。 反対です。 そもそも、関数に名前をつけないこと自体、プログラマとしてやるべきことでは ないと考えます。 ? とだけ書かれて、解るのは自分だけです。いずれ自分も解らなくなります。 > きしもとです > > [ruby-list:46422] から始まるスレッドで一旦却下された話で、 > "?" というメソッドは、レシーバを省略した呼び出しで、リテラルや三項演算子と > ぶつかるのでダメ、という話になったわけですが、 > > レシーバを省略しない呼び出しであれば、現在、obj.def とか obj.end とか obj.and > とか、演算子やそのほかの構文と被ってる名前でも使えるわけですよね? > そういうわけで、obj.? もあっていいんではないか、と改めて提案します。 > > 誰がうれしいか、ということについてですが、パーサコンビネータで、 > a a? b という構文規則をたとえば a >> a.opt >> b としていたものを、 > a >> a.? >> b と、簡潔かつ直感的にわかりやすく書けるようになります。 > > リテラルや三項演算子は、def のあとや obj. のあとの文脈で、 > def や end や and に比べて、特別でしょうか? > >