- 【JavaScript】スクリプト バトルロワイヤル52【php,py,pl,rb】 [転載禁止]©2ch.net
62 :デフォルトの名無しさん[sage]:2015/10/13(火) 09:20:37.48 ID:Rl12UR24 - >>61
そうですね。あとはC#の拡張メソッド(実体は静的メソッド)みたいに構文糖をまぶせば 通常のメソッド呼び出し(メッセージングOOPのパラダイムならレシーバーへのメッセージ送信)の 書き方にできるはずです。 ただ、ぱっと見レシーバーに見えるオブジェクトが、実質はタプル・配列等の要素となってしまっているため、 その(あるいはそれらの)内部情報に対する当該メソッド記述中でのアクセスについては制限が加わります。 C#の拡張メソッドと同じですね。 CLOS等の総称関数のように割り切るか、従来のメソッドと同レベルの使い勝手や メソッドのありかた(特定のクラスに内包される)にこだわるならさらなる細工が必要になるでしょう。 (Dylanがこの問題をどう解決しているかは調べてません。ごめんなさい) あと参考まで、メッセージングOOPのパラダイムでは古典的にはダブルディスパッチというベストプラクティスパターンが すでにあるので、構文までいじくり回してマルチメソッドやメソッドオーバーロードを実現する価値が本当にあるか よく吟味する必要はあるのかとも思います。
|
|