永井@知能.九工大です.

このところ,こちらには貢献できてなくて申し訳ないんですが,
ちょっと目に入ったもので少しだけ.

# 議論に参加する時間がとれそうもないため,
# 言いっぱなしで心苦しいのですが...

From: Wakou Aoyama <wakou / fsinet.or.jp>
Subject: [ruby-list:17673] Re: <=> (Re: Hash $B$K(Bnil$BCM$rF~$l$?$J$i(B) 
Date: Thu, 14 Oct 1999 16:41:22 +0900
Message-ID: <199910140741.QAA02186 / hoyogw.netlab.co.jp>
wakou> 青山です。
wakou> On Thu, 14 Oct 1999 16:00:07 +0900,
wakou> Tadayoshi Funaba <tadf / kt.rim.or.jp> wrote:
wakou> > そういっちゃうと、なんでも言いきれないような気がするんですが、具体的に
wakou> > どうすればいいのでしょう。
wakou> 最初ににあげたように、-1, nil, 1 とか、-1, false, 1 だと
wakou> a.to_i <=> b.to_i || a.to_s <=> b.to_s || a.to_f <=> b.to_f
wakou> と書けて嬉しいかと。あるいは、0 をそのままで ||| という案もでています
wakou> ね。どちらも具体的な案だと思います。

この辺りの話って,1998 年 4 月頃の [ruby-list:7286][ruby-dev:2026] 辺りで続いてる話と同じようなものですよね?
nonzero? ってのはその過程で出てきたものです.
当時と違うのは ||| という案が出てる点です.
0 を false と判断する新しい論理演算子となるわけでしょうけど,
0 だけを特別扱いというのは少し気持ち悪いですね.
私の場合は,どうせ新しい演算子を追加するのなら,当時議論したような
-1, false, 1 を返す比較演算子を追加する方が好みです.

# ruby 本,うちの研究室だけで 6 冊ほど生協に注文を出しました.(^_^)
-- 
                                         永井 秀利 (九工大 知能情報)
                                             nagai / ai.kyutech.ac.jp