Article View: fj.lang.misc
Article #162redefining operators (Re: CLU and its companions)
From: Yukihiro Matsumoto
Date: Thu, 05 Mar 1998 00:00
Date: Thu, 05 Mar 1998 00:00
27 lines
2093 bytes
2093 bytes
まつもと ゆきひろです shugo@po.aianet.ne.jp (Shugo Maeda) writes: |前田です。 |たしかC++だと二項演算子はメソッドじゃなくて2引数の関数にするんですよね? |僕は左辺をレシーバとみなして、+というメッセージを送ると考える方が好きです。 ええと,C++の場合メンバ関数としても定義できたような気がします. それはともかく,+演算子は本来左辺の型によって処理が決定する のではなく,両辺の型の組合せによって処理が決定するので,左辺 のメソッドであるのはおかしい,という意見もある訳です.私もそ れはもっともだと思います. たとえば,演算子を実装する時,右辺の内容に対するアクセスがき れいにいかない時とかとくにそう思います. # rubyでそうなっているのは「ご都合」ですね. こういう演算子に一番適切なのは恐らくCLOSのようなマルチメソッ ドですが(全ての引数の型でディスパッチされる),これだけのため にマルチメソッドを言語に導入する訳にもいきませんしねえ. まつもと ゆきひろ /:|)
Technical Details
Message-ID:
<lvu39d25r9.fsf_-_@picachu.netlab.co.jp>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<861zwkidmm.fsf@totally-fudged-out-message-id> <lvu39guubl.fsf@picachu.netlab.co.jp> <863eh0do80.fsf@totally-fudged-out-message-id> <6dicoe$lqo@meridian.akashi.flab.fujitsu.co.jp> <86en0ig6r9.fsf@totally-fudged-out-message-id> <6djekb$93k@meridian.akashi.flab.fujitsu.co.jp> <864t1eil2l.fsf@totally-fudged-out-message-id>Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS X-Google-Thread: 10b195,a28a5726c6efeb63 X-Google-Attributes: gid10b195,public X-Google-Thread: 10caf2,4c2a21ea2f072c7c,start X-Google-Attributes: gid10caf2,public From: Yukihiro Matsumoto <matz@netlab.co.jp> Subject: redefining operators (Re: CLU and its companions) Date: 1998/03/05 Message-ID: <lvu39d25r9.fsf_-_@picachu.netlab.co.jp> X-Deja-AN: 330960012 References: <861zwkidmm.fsf@totally-fudged-out-message-id> <lvu39guubl.fsf@picachu.netlab.co.jp> <863eh0do80.fsf@totally-fudged-out-message-id> <6dicoe$lqo@meridian.akashi.flab.fujitsu.co.jp> <86en0ig6r9.fsf@totally-fudged-out-message-id> <6djekb$93k@meridian.akashi.flab.fujitsu.co.jp> <864t1eil2l.fsf@totally-fudged-out-message-id> Mime-Version: 1.0 (generated by tm-edit 7.106) Content-Type: text/plain; charset=ISO-2022-JP X-Complaints-To: usenet@riccia.linux.or.jp X-Trace: riccia.linux.or.jp 889067364 13466 (None) 202.218.249.224 Organization: Network Applied Communication Laboratory, Japan Newsgroups: fj.lang.misc,fj.lang.c++