You simply don't modify _objects_ which are used as keys in hashed
collections. Or if you do so, you'll have to deal with the consequences
yourself.
Levente
On Fri, 9 Oct 2015, Esteban Lorenzano wrote:
Hi,
Can anyone explain me how this is correct?
Collection>>#hash
"Answer an integer hash value for the receiver such that,
-- the hash value of an unchanged object is constant over time, and
-- two equal objects have equal hash values"
| hash |
hash := self species hash.
self size <= 10 ifTrue:
[self do: [:elem | hash := hash bitXor: elem hash]].
^hash bitXor: self size hash
I mean… a hash that changes when I add elements to the collection… how can this
work?
Esteban