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

>>> 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 なんて予約語にしたらまずいでしょうし、、

	えぐち