えぐち@エスアンドイー です。 >>> In message [ruby-list:17631] <=> (Re: Hash にnil値を入れたなら) On Tue, 12 Oct 1999 14:30:12 +0900, Wakou Aoyama <wakou / fsinet.or.jp> said: wakou> 青山です。 wakou> wakou> 仕様としては例外がすっきしりしますが、やはり手軽なプログラミングを重視 wakou> すると現状ままみたいですね。(例外を発生させなくても has_key? で情報は wakou> 得られるので、きちんと書く場合はそれを利用すればいいですしね。) wakou> wakou> On Sun, 10 Oct 1999 17:22:08 +0900, wakou> WATANABE Hirofumi <eban / os.rim.or.jp> wrote: wakou> wakou> > result = Cache[key] ||= 重い処理(key) wakou> wakou> そうそう。こういう手軽さとして、<=> を、-1, 0, 1 ではなく、-1, nil, 1 wakou> というのはどうでしょうか。 wakou> wakou> sort とかで、a.to_i <=> b.to_i or a.to_s <=> b.to_s とか書けると便利そ wakou> うです。 同じ事を考えた事がありますが、現状の sort 等では、 一致で nil が返って来ると困りますね。 むしろ新しい演算子として、 左辺がゼロ以外ならそれを返し、 左辺がゼロなら右辺を返す2項演算子 があれば都合が良く、現状の <=> でもカスケード出来ると思います。 問題は、記号なんですけど、、 a.to_i <=> b.to_i ||| a.to_s <=> b.to_s ぢゃ気持悪いすぎますか。。 ^^;; # cascade なんて予約語にしたらまずいでしょうし、、 えぐち