From: Yukihiro Matsumoto Date: 2009-01-17T16:33:08+09:00 Subject: [ruby-dev:37779] Re: String#hash まつもと ゆきひろです In message "Re: [ruby-dev:37777] String#hash" on Fri, 16 Jan 2009 20:00:08 +0900, keiju@ishitsuka.com (Keiju ISHITSUKA) writes: |例えば, Complexだと | | @real.hash ^ @imag.hash | |となっています. 実際には, これはあまり良くなくて, @real==@image のとき |つねに同じ値になってしまいます. そこで, 別のseedを与え | | @real.hash(seed1) ^ @image.hash(seed2) | |の様にすると, 上記の問題はなくなります. これは, Array等のhash関数でも |同様です. また, Fixnum#hashとObject#hashも別のseedを与えるのもよさそう |な気がします. 毎回変わる理由は[ruby-dev:37778]の通りなんですが、各オブジェ クトのhashの計算方式を更新した方が良いという提案はそれとは独 立に有効だと思います。どんな計算式が良いのか議論していただけ ませんか?