山本です.

> > これらの動作を自分で定義したクラスのオブジェクトでも制御することは可能
> > でしょうか?
> 
> Array の & と | を再定義するとか。どれぐらいパフォーマンスが落ちるかは
> 分かりませんが。
> 
> class Array
>   def &(ary)
>     self-(self-ary)
>   end
> 
>   def |(ary)
>     (self-[])+(ary-self)
>   end
> end
> 
> とりあえずコレで == で比較するようになるんではないかと。
> # あんましテストしてないんで見落としがあるかも^^;

ああ,なるほど.そういう方法もありますね.速度が問題になる時にはかなり
の回数の比較をしてしまうかも知れませんが,お手軽かも知れません.

実はさきほどのまつもとさんのお返事をいただくまでは,オブジェクトに大小
関係を定義しておいて,配列をソートした上でマージするなりしていました.
ハッシュの方がお手軽かつ高速な雰囲気.

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