Hi, On Fri, 06 Aug 2004 18:08:57 +0000, Csaba Henk wrote: > [snip] > I've read the thread spawned by this post, and now I summarize that part > of what was written there which is relevant to my original problem, and > wasn't stated there explicitly. > I think the thread was relevant to your post, since it described what was causing the bug. The following should solve the problems (but can be very slow for large Hashes/Sets): class Array def hash to_a.hash end end Regards, KB > "Set" can be forced to behave extensionally by doing so: > > class Set > def eql? other > subset? other and other.subset? self > end > def hash > to_a.hash > end > end > > -- as it seems to me, Array#uniq uses *both* of eql? and hash methods, and > to get rid of the (IMHO pathological) behaviour illustrated by the above > examples, both methods need to be overwritten. Concerning the above > re-implementation of these methods, what I did with "hash" is just a hack, > of course, I don't claim that it clean or right to do so, it just > something which does the job.