From: ogino@... Date: 2000-03-06T18:07:30+09:00 Subject: [ruby-list:21218] Re: あったらうれしいメソッド to_n, to_n!, to_s! 荻野です。書きかけのメールが消えてしまったショックから立ち直れないので 簡単ですみません。 At Fri, 3 Mar 2000 15:57:13 +0900, matz@netlab.co.jp (Yukihiro Matsumoto) wrote: > |とするのは to_n というメソッドがあればと思うのですが、どうでしょう。 > > Stringに? String にというか to_i, to_f が使える文脈で。 > 欲しいのが整数のなのか不動小数点数なのか分からない、あるいは > 混在している方が望ましい局面ってあんまり思い付かないんですが。 > 多分整数だけども少数点を含むかも知れない文字列から不動小数点 > が欲しければto_fで良いのでは。 クラスを作っている時点でクラスの利用者が何を欲しがるか分かるか、という 問題とも思えますが、誰が利用者か分からないということもあると思います。 しかし、もちろん to_f で良いわけで後は効率とか感性の問題だと思います。 普通 to_i で、float が必要かもと思うときに to_f をする人(私)ではなく、 普通 to_f で絶対に整数しか扱わないぞ、と思うときだけ to_i を使うという 習慣をつければ良いわけです。(しかし大部分の人は整数しか使わないだろう な、というようなライブラリのときはやはり心理的抵抗があるように思う。) to_n が欲しいと思ったのは、to_f という名前が数というよりは float を意 識するのでなんとなく落ち着かないということと、整数とfloat では演算時の 効率でずいぶんと差があるような気がするが、to_i とか to_f は比較的重た そうなので、ここにもう一段加わったところで何ほどのこともあるまいと素人 考えで考えたせいです。(効率を気にするときは to_i や to_f を明示的に指 定すればよいわけですし。) > | str.to_s! (略) > 代入を含む(変数の値を変える)操作はメソッドで実現できません。 了解しました。安直に考えすぎたようです。 Shin-ichiro Hara wrote: > | str = str.to_s (基本の考えとしては str = '' if str == nil ですが) (略) > str ||= '' 必要なときにはこれを使わせていただきます。しかし皆さんの意見を拝見して いるうちに String が引数に欲しいメソッドに nil がきたらさっさと明示的 にエラーにするほうが親切だと思えるようになってきました。 -- 荻野 充 (おぎの みつる) ... 「萩(はぎ)」にあらず 名古屋大学消費生活協同組合