yeah... solved... thanks :P

On May 21, 2012, at 1:39 PM, Nicolas Cellier wrote:

> Maybe you need HashedCollection rehashAll ?
> 
> Nicolas
> 
> 2012/5/21 Esteban Lorenzano <[email protected]>:
>> Hi,
>> 
>> "expanded" is a Set with just one element.
>> 
>> executing (somewhere inside pier):
>> 
>> expanded removeAll: expanded copy
>> 
>> throws NotFound
>> 
>> digging a bit, I found that the #scanFor: message answers 5 and real 
>> position of object in array is 1 (array size is 5, btw).
>> 
>> in:
>> 
>> scanFor: anObject
>>        "Scan the key array for the first slot containing either a nil 
>> (indicating an empty slot) or an element that matches anObject. Answer the 
>> index of that slot or raise an error if no slot is found. This method will 
>> be overridden in various subclasses that have different interpretations for 
>> matching elements."
>> 
>>        | index start |
>>        index := start := anObject hash \\ array size + 1.
>>        [
>>                | element |
>>                ((element := array at: index) == nil or: [ element 
>> enclosedSetElement = anObject ])
>>                        ifTrue: [ ^index ].
>>                (index := index \\ array size + 1) = start ] whileFalse.
>>        self errorNoFreeSpace
>> 
>> 
>> this line:
>> 
>>        index := start := anObject hash \\ array size + 1.
>> 
>> is answering 5... so method ends on first ifTrue:
>> 
>> but... what the hell????????
>> any idea?
>> 
>> thanks,
>> Esteban
> 


Reply via email to