[#954] Rational — keiju@... (Keiju ISHITSUKA)

けいじゅ@SHLジャパンです.

23 messages 1996/10/30
[#955] Re: Rational — matz@... (Yukihiro Matsumoto) 1996/10/30

まつもと ゆきひろです.

[#968] Re: Rational 1996/10/31

けいじゅ@SHLジャパンです.

[ruby-list:987] Re: == and hash[Rational]

From: matz@... (Yukihiro Matsumoto)
Date: 1996-10-31 07:37:26 UTC
List: ruby-list #987
まつもと ゆきひろです.

In message "[ruby-list:986] Re: == and hash[Rational]"
    on 96/10/31, 石塚圭樹 <keiju@shljapan.co.jp> writes:
|
|けいじゅ@SHLジャパンです. 

|そうでないならば, 
|
|foo = SomeInteger
|foof = Float(SomeInteger)
|
|hash[foo] = bar
|hash[foof] --> bar
|
|となってしまうような気がしますが?? 

可能性は否定できませんね.対応としては

  * hashの比較用メソッドを(equalのように)別に用意する
  * 滅多に起きないことだし致命的なバグになることは少ないので
    無視する

などが考えられますが,どうしましょう.

|>NumericがComparableをincludeしています.
|
|ええ. それで, ==の実体はどこで定義しているのでしょうか??

Comparableです.

|上の問題がはっきりしてからですけども, 少なくとも
|
|Rational(1,2).hash == Rational(1,2).hash
|
|にする必要はありますよね.

はい.その方が良いと思います.RationalをHashのキーにしたい人
も出て来るかも知れませんから.

                                まつもと ゆきひろ /:|)

In This Thread