えぐち@エスアンドイー です。 >>> In message [ruby-list:17677] Re: <=> (Re: Hash $B$K(Bnil$BCM$rF~$l$?$J$i(B) On Thu, 14 Oct 1999 17:46:16 +0900, nagai / dumbo.ai.kyutech.ac.jp said: nagai> 永井@知能.九工大です. nagai> nagai> このところ,こちらには貢献できてなくて申し訳ないんですが, nagai> ちょっと目に入ったもので少しだけ. nagai> nagai> # 議論に参加する時間がとれそうもないため, nagai> # 言いっぱなしで心苦しいのですが... ... nagai> この辺りの話って,1998 年 4 月頃の [ruby-list:7286] や nagai> [ruby-dev:2026] 辺りで続いてる話と同じようなものですよね? いま拝見しました。(ちょうど、この時期読んでなかったらしい) <=> の意味を変えるのでなく、 <> という新しい演算子なんですね。 != と混同しても実害が無いというのが魅力的ですね。 以前 Bigfloat を作ってた時に、符合, 指数, 仮数 の順に比較するため result = @sign <=> sign return result if result != 0 result = @exp <=> exp return result if result != 0 return @prov <=> prov と書いていたのが、 return @sign <> sign || @exp <> exp || @prov <> prov と書けるのは、見た目も非常に美しいですね。 nagai> nonzero? ってのはその過程で出てきたものです. Numeric#nonzero? は(先日、私が間違えたように) !zero? と錯誤しやすいので、実際に使うのを躊躇します。 #単に私が間抜けなのですが ^^l nagai> 当時と違うのは ||| という案が出てる点です. nagai> 0 を false と判断する新しい論理演算子となるわけでしょうけど, nagai> 0 だけを特別扱いというのは少し気持ち悪いですね. これ私の発案ではありますが、 『||| があるなら &&& もありか?』 という直行性の議論も生じるし、 『偽の代用として 0 を返すメソッドを奨励している』 かのように思われるのが心配ですので、今は否定的です。 #絵面が「川」みたいで変だし ^^;; nagai> 私の場合は,どうせ新しい演算子を追加するのなら,当時議論したような nagai> -1, false, 1 を返す比較演算子を追加する方が好みです. という事で、賛成1票。 nagai> # ruby 本,うちの研究室だけで 6 冊ほど生協に注文を出しました.(^_^) 発売日に手にしたいから、注文しなければ。ワクワク ワクワク ≧(^^)≦ えぐち