From: matz@... (Yukihiro Matsumoto) Date: 1998-08-17T16:14:41+09:00 Subject: [ruby-list:9152] Re: Matrix#to_i [Re: irb -m] まつもと ゆきひろです In message "[ruby-list:9151] Re: Matrix#to_i [Re: irb -m]" on 98/08/17, 石塚圭樹 writes: |別に, 今のMatrix#to_fがそのままの名前で存続した方が良いといっているわ |けではなくて, 今の, Matrix#to_fやComplex#to_f相当の機能を持つメソッド |は同じ名前が良いんじゃないかといっているだけでした. あ,そういうことなんですか.読み違えたかな. |でも, ちょっと気が変わったので, 議論にのってしまいます(^^;;; どーもです. |現在の, Matrix#to_fはある意味で正しい動作をしていると思うんですよ. |>> m1 = Matrix... |>> m2 = Matrix... |>> m1.to_f / m2.to_f | |は希望通りの動作を行ないます. うーん,希望通りの動作ねえ.「希望」の定義にもよりますね. |そこで, 気になるのが, to_fがFloatを帰すと定義されているわけですがそう |じゃなくてはいけない積極的な理由があるんですかね? つーか,to_fはもともとconvert the receiver into float value を意識して命名したメソッドですから,Floatを返すのは自明だと 思います. 逆に「対応する要素をFloatに変換したMatrixを生成する」という (もともとのto_fとは異なった)挙動をするメソッドに同じ名前をつ けるのは問題と思いますです.「要素がFloatのMatrixはFloatの一 種であり,これらのメソッドの意味は(本質的には)同じだ」という 主張なら話は別ですが. つまり,現状のMatrix#to_fの挙動をするメソッドの存在に対して 異義を唱えてるんじゃなくて,それはto_fが期待する動作ではない ので,別の名前にした方が良いというのが私の意見です. まつもと ゆきひろ /:|)