青山です。

On Thu, 14 Oct 1999 16:00:07 +0900,
Tadayoshi Funaba <tadf / kt.rim.or.jp> wrote:

> そういっちゃうと、なんでも言いきれないような気がするんですが、具体的に
> どうすればいいのでしょう。

最初ににあげたように、-1, nil, 1 とか、-1, false, 1 だと

a.to_i <=> b.to_i || a.to_s <=> b.to_s || a.to_f <=> b.to_f

と書けて嬉しいかと。あるいは、0 をそのままで ||| という案もでています
ね。どちらも具体的な案だと思います。

> ただ、これは、ずらずら並べれば、どうやっても、美しくなりようがないでしょ
> う。しかも、対象の数があらかじめ判っていて、その数が少ないときでないと
> つかえないと思います。

ちょっとここはよく意味がわかりませんでしたが、次のような記述は結構美し
いのではないかと思いますけど、あまり馴染みありません?

a.to_i <=> b.to_i || a.to_s <=> b.to_s || a.to_f <=> b.to_f
a.to_i <=> b.to_i ||| a.to_s <=> b.to_s ||| a.to_f <=> b.to_f

> 僕は、C などでよくつかわれているらしい、決り文句を Ruby で、そのままや
> ろうとしているのが、よくないのではないかと思います。僕は、とくに仕様が
> 不適切だと思ったことはないです。

ちょうどまったく同じ事を私も書いています([ruby-list:17665])。やはり C
の書き方をそのまま Ruby に持ち込むと違和感がでる場合がありますよね。


-- 
青山 和光 Wakou Aoyama <wakou / fsinet.or.jp>