From: Hideo Konami Date: 2005-11-03T01:09:34+09:00 Subject: [ruby-list:41455] オブジェクト同士の演算などを実装するには? 小波です. 次のようなことを実現したいのですが,可能でしょうか? class Cat def initialize(name,age,sex) @name = name; @age = age; @sex = sex end def hoge end ... ... end mike = Cat.new("みけ",4.5,"F") tama = Cat.new("たま",3.8,"M") というふうにCatクラスを定義して,そのオブジェクト(インスタンス) である mike, tama を生成したとします. そのあと,たとえば次のような形でこれらのオブジェクト間の演算 を定義することはできるでしょうか. babycat = mike + tama ここで Cat クラスに属する2個のオブジェクト同士の + の演算は, mike と tama の性質から導かれるもので,たとえば上記のように して両親の性質をまぜた子猫を作るものとします. また別にたとえば puts Cat.fight(mike,tama) みたいな形で,mike, tama のもつ性質を利用して勝ち負けを決めて "みけの勝ち!" といった出力を得るようにすることはできる でしょうか. mike.fight(tama) という形のメソッドなら簡単なのですが...