ダブルディスパッチ
(2)ここで(しかたなく) @a と @b を attr で公開しましたが、 公開しないでこの eql? と同様なものは作れるでしょうか? 現状では普通にはできません.ちょっとひねれば
def eql? other other.check_eq? @a, @b def def check_eq? a, b a == @a and b == @b end
こういうやりかた(まず自分のメソッドで絞り込みやデータの取り
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-list/1659
出しを行い,残りは相手のメソッドに任せてしまうようなやりかた)
をダブルディスパッチと呼びます.オブジェクト指向では良く使わ
れるやり方なので覚えておくと便利でしょう.