山本です.

> |Rubyで配列の和(&)や積(|)を簡単にとることができますが,この時「要素が重
> |複している」という判定はどのようにして行なわれているのでしょうか?
> 
> 「とりあえず」Hashを使って一致判定をしています。つまり、重複
> 判定はeql?メソッドによって行われています。

ありがとうございます.「とりあえず」ということは将来に渡ってそれが保証
されるような種類のものではないということですよね.

> 本当は == メソッドを使いたいところなんですが、パフォーマンス
> があまりにも違うのでハッシュを使っているのが実情です。

ありがとうございます.今見てみました所,eql?メソッドが呼ばれているのが
確認できました.uniqも同様のようですね.

なるほど.hashメソッドとeql?メソッドを適切に定義しておけば「とりあえず」
はうまくいくことが確認できました.ありがとうございます.

 山本 篤 <東京大学総合文化研究科広域科学専攻>
 mailto:yamamoto / graco.c.u-tokyo.ac.jp
 http://www.graco.c.u-tokyo.ac.jp/~yamamoto/