稲葉です。



Ruby 2.0に向けて、coerceの話題ではなくて、新シンタックスの提案です。



# 自分が新機能の提案を我慢してきたかというと、そうでもない気がします...



今、method=というメソッドは「obj.method = val」という形で呼び出せるのに

「obj.method(arg1, arg2...) = val」というシンタックスは許されて

いないのですね。これを許すようにはできませんか?



昔、Perlの「@a[@b] = @c」をRubyで書くには?という質問をMLでしたとき、

自分で定義するなら「a.indexes(*b) = c」かな?と思って定義しようとして、

そういう構文は認められていないのに気づいて「おや」と思ったので

すが、その時は提案しませんでした。



近頃perl5-portersのMLでlvalueになるsubの話題があり、それを読んでこれを

思い出しました。



それから、これを許すようになれば、ローカル変数fooとメソッドfoo=が同時に

ある時、self.foo=と書かなくてもfoo()=と書いて区別が付くようになります。



どうでしょうか?

--

			稲葉 浩人  <inaba / st.rim.or.jp>