From: take_tk <ggb03124 / nifty.com> Subject: [ruby-list:45444] Rubyが「equal」を同値性の意味にしなかった理由は? Date: Sat, 30 Aug 2008 21:56:58 +0900 > > Lispから多くのものを取り入れているRubyが「equal」を同値性の意味にしなかっ > > た理由を知りたいです。 > > (1)「お薦めの機能」の表記法は(a)美しく、(b)短く、(c)使いやす > くする、というのがMatzさんの思考様式であろう。 > > http://d.hatena.ne.jp/take_tk/20080829 > > (2)同値性判断のほうが同一性判断よりも使用頻度が高い。同値性判断のほう > が「お薦めの機能」である。 > > (3)「==」の方が「equal」よりも使いやすく、短く、美しい。 > > (4)「==」は再定義可能な演算子なので、クラスごとに異なった判断基準を設 > 定することができる。 > > (5)従って、「==」に「同値性判断」の機能を割り当て、「同一性判断」は普 > 通のメソッドとした。 僕も同じことを推測しています。けれども、なんで同一性判断に eq? ではなく て equal? という名前を採用したのかが気になります。 やっぱり、同一性判断はあまり使わない→長い名前→eq?では短すぎるのでequal? なのかなーと勝手に推測しています。 -- rubikitch Blog: http://d.hatena.ne.jp/rubikitch/ Site: http://www.rubyist.net/~rubikitch/