[Newbies] reimplementing #= and #hash
Oscar Nierstrasz
oscar.nierstrasz at gmail.com
Sun Sep 23 09:27:41 UTC 2007
Hi Ching,
#hash should be reimplemented to make sure that objects considered to
be equal will end up in the same hash bucket.
The usual trick is to take a bitXor of the hashes of the instance
variables:
PoolQueue>>hash
^ member hash bitXor: processor hash
Hope that helps.
Oscar
On Sep 23, 2007, at 9:52, Ching de la Serna wrote:
> Hi List,
>
> I have a Class PoolQueue which has instvars 'member' and
> 'processor'. I find that an instance of PoolQueue when placed in an
> OrderedCollection can no longer be considered equal. I suppose I
> have to reimplement #= and #hash to allow PoolQueue instances to be
> compared.
>
> My problem: how do I implement #hash? Or stated another way, what
> does #hash accomplish?
>
> Thanks in advance.
>
> Ching.
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
More information about the Beginners
mailing list