[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