[Squeak-fr] Collections
Luc Fabresse
fabresse at lirmm.fr
Mer 31 Mai 16:03:21 UTC 2006
Bonjour,
A mon avis le "bug" vient du fait que la méthode collect: créer une
nouvelle collection du même type que le receveur courant (ici un Bitmap)
afin de stocker les valeurs obtenues en évaluant le block.
Donc,
pixelsValues collect: [ :each | each > 0]
essaie de construire un bitmap en lui insérant des booléens ce qui ne
fonctionne pas.
Par contre:
pixelsValues collect: [ :each | each * 2]
fonctionne.
Luc.
Yann Monclair a écrit :
> Bonjour,
>
> le select et le collect fonctionne differemment.
>
> pixelsValues select: [ :each | each > 0]
>
> retourne les éléments de pixelsValues pour lesquels each>0 s'évalue à true.
>
> pixelsValues collect: [ :each | each > 0]
>
> renvoie la collection des resultats des évalutions each>0 , donc une
> collection de booléens.
>
> voila pour la différence entre collect et select. si je ne me trompe pas
> (j'ai passe la journee dans eclipse, je suis apte a dire des betises
> tres grosses!!)
>
> Mais je ne pourrais pas expliquer le bug , jen 'ai pas squeak sous la
> main pour tester.
>
> HTH,
>
> Yann
>
>
> FERRERE Frédéric a écrit :
>> Bonjour,
>>
>> je rencontre un petit problème de compréhension (de débutant c'est sur).
>>
>>
>> Voila un morceau de code :
>>
>> | myImage pixelsValues |
>> myImage := ImageMorph new.
>> pixelsValues := myImage imageForm tallyPixelValues.
>> Transcript show: pixelsValues size; cr.
>> (pixelsValues select: [ :each | each > 0]) do: [ :each |
>> Transcript show: each; show: ' '.].
>> (pixelsValues collect: [ :each | each > 0]) do: [ :each |
>> Transcript show: each; show: ' '.].
>>
>>
>> pixelsValues renvoie un bitmap (qui est une Collection)
>>
>> pourquoi collect: sur le bitmap me renvoie une erreur ?
>>
>> Error : improper store into indexable object
>>
>> select par contre fonctionne 'normalement'
>>
>> Merci d'éclairer ma lanterne de débutant (mais je m'accroche :) )
>>
>> Cordialement,
>
>
More information about the Squeak-fr
mailing list