From: toyofuku@... Date: 1998-03-30T03:03:34+09:00 Subject: [ruby-dev:1982] Re: new coerce 豊福@パパイヤです。 けいじゅさん > 1. MatrixにおけるScalarの様な間接クラスは必要なくなる(と思う). [新案2]では例えば Numeric * Matrix に対して (other', self', op') として (Matrixのself, Numericのother, :r_mul) を返し、r_mul は class Matrix def r_mul(other) case other when Numeric return self.collect{|e| other * e} ... end end end という感じになるんですね。 >>なんとなく Numeric の private メソッドとして定義されてるだけで良いよ >>うにも思うのですが. > Numericに入らないものがあるからです. > 具体的にはMatrixとかです. > Numericに入れろといわれればそうしても良いのですが, 雰囲気的にかなり無 > 理がありますよね. 将来的に数式クラスとかもNumericって感じではないです > よね? まつもとさん > この場合 Calculatable ってのが妥当なモジュール名なんですか? これらを見て思い出したんですが、最初の頃 ・計算ぽくない二項メソッド(引数が一個のメソッド のつもり)でも coerce を使いたいことはないのだ ろうか。数学っぽい計算だけ特別なのか? ・もし計算ぽくない二項メソッドでも coerce を考え るとしたら、一般のメソッドでは? 二項だけ特別な のか? などということも考えてました。 一応以上で coerce の話題にはすべて反応した つもりです。 --- 豊福@パパイヤ unbound@papaya.juice.or.jp toyofuku@juice.or.jp