ふなばです。

At 1999-10-12T23:28:29+0900 (2451464.10311JD),
eban / os.rim.or.jp (WATANABE Hirofumi) wrote:

eban> nozero? は見るからに美しくないというのは理由にならないかなあ?
eban> もう一個つけ加えるとさっぱりわからない式になります.
eban>   ((a.to_i <=> b.to_i).nonzero? || a.to_s <=> b.to_s).nonzero? || a.to_f <=> b.to_f
eban> これが
eban>   a.to_i <=> b.to_i ||| a.to_s <=> b.to_s ||| a.to_f <=> b.to_f
eban> と書けるなら気持ちいいですよね.

eban> でも考えみたら
eban>   [a.to_i, a.to_s, a.to_f] <=> [b.to_i, b.to_s, b.to_f]
eban> と書けばいじゃん. ってあれ? なにがしたかったんだ, おいらは.

そうですね。nonzero? は、あたらしく演算子を導入しないでも、なんとかな
るじゃない、と説明するために、とりあえずでっちあげた案で、すぐあとに、
Array#<=> の案も思いついたのでした。

それで僕は、nonzero? はナシにしたい気分だったのですが、これはこれで余
計な評価をするから、いつもススメられるものでもない、ということもあるん
ですよね (気になる人/場面もあるので)。

ふなば ただよし