[Squeak-fr] Re: SortedCollection>>copyWithoutIndex:

stephane ducasse stephane.ducasse at free.fr
Mer 21 Mai 15:52:51 UTC 2008


avec des tests...

stef

On May 21, 2008, at 5:17 PM, nicolas cellier wrote:

> Très bien, tu devrais signaler le bug sur mantis http:// 
> bugs.squeak.org
>
> Le plus simple serait de changer l'implémentation de:
> SequenceableCOllection>>copyWithoutIndex: index
>    ^self copyReplaceFrom: index to: index with: #()
>
> Nicolas
>
>
> Olivier Blanc a écrit :
>> Bonjour,
>> La classe SortedCollection implémente la méthode copyWithoutIndex:  
>> comme suit :
>> copyWithoutIndex: index
>> "Return a copy containing all elements except the index-th."
>> | copy |
>> copy := self species ofSize: self size - 1.
>> copy replaceFrom: 1 to: index-1 with: self startingAt: 1.
>> copy replaceFrom: index to: copy size with: self startingAt: index+1.
>> ^ copy
>> qui utilise  la méthode
>> replaceFrom: start to: stop with: replacement startingAt: repStart
>> "This destructively replaces elements from start to stop in the  
>> receiver
>> starting at index, repStart, in the sequenceable collection,
>> replacementCollection. Answer the receiver. No range checks are
>> performed."
>> | index repOff |
>> repOff := repStart - start.
>> index := start - 1.
>> [(index := index + 1) <= stop]
>> whileTrue: [self at: index put: (replacement at: repOff + index)]
>> Elle même utilise la méthode at:put qui ne doit pas être utilisée  
>> sur une collection triée.... d'où le message d'erreur
>> at: anInteger put: anObject
>> self shouldNotImplement
>> J'utilise l'image sq3.10-7159web08.03.1
>> Je pense qu'un reject: sera plus simple.... Mais cependant, ce  
>> cheminement, avec cette erreur, ne devrait pas être à mon sens.
>> Olivier
>> ------------------------------------------------------------------------
>> _______________________________________________
>> Squeak-fr mailing list
>> Squeak-fr at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
>
> _______________________________________________
> Squeak-fr mailing list
> Squeak-fr at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr



Plus d'informations sur la liste de diffusion Squeak-fr