From: matz@... (Yukihiro Matsumoto) Date: 1997-01-06T08:48:02+09:00 Subject: [ruby-list:1571] Re: nil ¤Î <=> まつもと ゆきひろです In message "nil の <=>" on 96/12/31, (Dezawa Shin-ichiro) writes: | |出沢です | |nil に <=> 定義してもらえないだろうか? |それとも なにか問題出るだろうか、、、 とはいうもののnilをComparableの順序空間のどこに置くかはなか なか難しい問題で,できればやりたくないというのが正直なところ です. | nil とは 0、それ以外とは nil の方が小さい nilと0が同じというのはperl愛好家は喜ぶと思いますが,rubyには 合わないかなあ. |どんなときに欲しいか |1 とある クラス を定義し、そのインスタンスを内容にもつ | Array を作ります。事情があって 時に nil が交じります。 うーん,compact!を使うか(1),sort用に評価ブロックを与える (2)のはどうでしょう. 1. ary.compact!.sort! 2. ary.sort!{|a,b| if a == nil then if b == nil then 0 else 1 end elsif b == nil then -1 else a <=> b end } 特に2は押えておくといろいろ使い出があると思います. |2 識別子をプロパティ @name にもつ クラス を定義し、そのインスタンスを | 内容にもつ Array を作ります。 これは上記2で対応してもらうのが良いのでは? |nil に <=> があれば たすかるなー と思った次第。 つーわけで,ちょっとやりたくないなーと思った次第(ごめんね). まつもと ゆきひろ /:|)