Toshです。 > すると、当然ながら、Ruby 本体も sort 等で 0 を使うのはやめて、nil や > false を推奨していく。と。 > > ところで、nil の発祥の話からすると、偽の値としては false なんですね。 > true, false が対になっていて、なんらかの値を返す物は nil とその値とい > う感じなのかと思っていました。 > > あの話からすると、nil は未定義値の代表であり、偽の代表はやはり false > という事ですから、<=> は 0 でも nil でもなく -1, false, 1 が適切そうで > すね。 <=>の0は別に「偽」を表しているわけではないのでは? 比較を行うオペレータが同値関係が成り立つ時に偽を返すってのはなんか 奇妙だと思うのですが。 # 「比較できない」時にnilを返す、とかならわかります。 それと、結果によって返値の型が違うメソッドはちょっと気持が悪い気が します。あとあと変な事になりそうで。 --- Tosh