まつもと ゆきひろです
ま、bang method の挙動は元に戻そうと思うんであまり意味が無く
なってきてるのですが、cascadingとかは興味深いんでケイゾク。
In message "[ruby-dev:9154] Re: bang method returns string always"
on 00/02/08, Kazunori NISHI <kazunori / swlab.csce.kyushu-u.ac.jp> writes:
|前にも少し触れましたが、これは method chain に拘らずとも cascading
|messages を用いる事で解決できる問題ですよね?むしろ、chain する為に既
|存の機能を捨てて self を返すよりも、その方がかなり自然でしょう。
cascadingとchainingは違うもので、一般的には置換可能ではない
ですよね。bang method ではたまたま一致しますが。今回 bang
method の挙動を変えたかったのは no nang method と統一したかっ
たからで、そういう意味では bang method に対してしか有効でな
い cascading はあまり魅力的ではないです。
|さらに、その統一の動機が「Ruby という言語の設計上の美しさ」ではなく
|「method chain の実現」の為あれば、繰り返しになりますがその情熱を
|cascading に向けて、合わせて yourself まで実装される方がより建設的だと
|感じます。(洗脳する狙い)
あまり cascading が欲しいと思った局面に陥ったことがないんで、
情熱を持てないんですが、他の人の情熱を途中で止める気はありま
せん(かえって残酷か)。yourselfについてはいまだ「それなに?」
状態なのでなんとも言えません。ていうか、それなに? まじで。
|> いや、念のためですが、私があんまり好きでないのは「カスケーディ
|> ング」というアイディアではないですよ。西さんが今までに提案し
|> た「Rubyにおけるカスケーディングのノーテーション」です。
|
|あ、よかった。というか、よくないと言うか。。。複雑な心境ですが、このま
|ま私が、まつもとさんの心を射とめるまで、下手な鉄砲を打ち続けないとダメ
|ですか?もう少し、どこが悪いか等のフィードバックや方向性を示してもらえ
|ると嬉しいな、みたいな。
ほっとかれた方がいろいろ楽しめてよろしいんでは(相当残酷か)。
ま、キーになるのは
* Rubyにおけるcascadingの意味とあり方
* それから求められる機能を実現する文法
* その文法の分かりやすさ
* Rubyの他の部分の文法との整合性
などではないでしょうか。今まで話が出たレベルでは、「そんなに
嬉しくなさそう」、「instance_evalでいいじゃん」という印象が
強すぎです。Smalltalkのようなコンパクトな文法であれば利用価
値が出てきそうですが、もう記号が残ってないぞ。
まつもと ゆきひろ /:|)