えぐち@エスアンドイー です。

>>> In message [ruby-list:17682] Re: <=> (Re: Hash にnil値を入れたなら) 
    On Thu, 14 Oct 1999 20:24:46 +0900, kjana / os.xaxon.ne.jp (YANAGAWA Kazuhisa) said:

kjana> In message <19991014155954A.tadf / kt.rim.or.jp>
kjana> tadf / kt.rim.or.jp writes:
	...
kjana> > wakou> [a.to_i, a.to_s, a.to_f] <=> [b.to_i, b.to_s, b.to_f]
kjana> > 
kjana> > wakou> これも Array の機能を利用した応用技であり、そういう応用技が必要という
kjana> > wakou> 事は、元の仕様が不適切という事は明らかであると思います。
kjana> > 
kjana> > 僕はそうでもないと思います。
kjana> 
kjana> そうですよね.`<=>' という三種類(あるいは比較不能を含めて四種類)の結
kjana> 果を返す演算子で,「等しい」を意味するのが「nil/false」である,という
kjana> 仕様はあまりにも直観的でないと思います.
kjana> 
kjana> # 「比較不能」のためにとっといてくれ,と.

典型的な(?)比較不能なケースの NaN との比較は、
現状では例外を挙げます。(FloatDomainError)

また、	100 <=> [] の様なケースも右辺で (TypeError) ですね。

以前、Set クラス(集合)同士の比較が話題に登った気がしますが。
このような場合は、false かなぁ???

kjana> Array の比較が「要素の順序による一種の辞書順」であるのは十分に直観的だ
kjana> と思うし,それを利用するのが不適切であるとはあまり思えません.

同感。

	えぐち