Thanks Denis.
There is refactoring which sadly not available from menu. But you can evaluate it manually:
(RBGenerateEqualHashRefactoring className: #YourClass variables: #(var1 var2)) execute
My problem is display in this image. In the left the inspector display all the items in the bag ( it's right ) In the right the inspector display the relative Occurences, but some are set to 0. Because ? Thanks for considerations, Dario
2017-02-20 13:46 GMT+01:00 Trussardi Dario Romano <dario.trussardi@tiscali.it>: Ciao,
i works with Pharo 4.0 environment.
I have a class Product with some instance variable and the = method set to:
= anItem
anItem ifNil:[^false].
anItem class = self class ifFalse:[ ^false].
^ rfrConsegna = anItem rfrConsegna and:[ rfrSubTable = anItem rfrSubTable and:[ rfrDcm = anItem rfrDcm and:[ indexRiga = anItem indexRiga and:[ referenceTime = anItem referenceTime and:[ consumer = anItem consumer and:[ item = anItem item and:[ opzioniVoce = anItem opzioniVoce ]]]]]]]
Some of these variables are instances of classes with specific implementation and some variables themselves.
I set the relative hash method to:
hash
^ rfrConsegna hash bitXor:( rfrSubTable hash bitXor: ( rfrDcm hash bitXor: ( indexRiga hash bitXor: ( referenceTime hash bitXor: ( consumer hash bitXor: ( item hash bitXor: ( opzioniVoce hash
)))))))
Now when add some setup instances of class Product to a bag,
the relative inspector report
some aProduct entry but with some Occurences of this set to 0.
aProduct1 3 aProduct2 0 aProduct3 0
Some consideration about it ?
Some references about hash implementations ?
Thanks,
Dario