Bonjour à tous,
j'ai un problème avec le code que l'on a construit à plusieurs pendant le dernier Dojo Smallalk. A voir ici : http://www.xp-france.net/cgi-bin/wiki.pl?DojoDeveloppement/ Lundi24Juillet2006 Quand je lance les trois tests, ils ne passent pas. Puis je lance : JeuDeLaVie newWithGrilleVide, puis j'inspecte la variable d'instance grille et elle ne contient pas le bon tableau qui est sensé représenter un tableau vide (le tableau : #(#($. $. $.) #($. $. $.)#($. $. $.))). Le tableau est modifié dans la méthode : naissanceEnLigne: l colonne: c J'ai l'impression qu'il y a un problème de partage de littéraux ... J'ai essayé de faire des copies des tableaux pour éviter ce genre de problème, mais cela ne marche pas visiblement ... any ideas ? Cordialement, -- oooo Dr. Serge Stinckwich OOOOOOOO Université de Caen>CNRS UMR 6072>GREYC>MAD OOESUGOO http://purl.org/net/SergeStinckwich oooooo Smalltalkers do: [:it | All with: Class, (And love: it)] \ / ## _______________________________________________ Squeak-fr mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr |
Le 27 juil. 06 à 11:34, Serge Stinckwich a écrit : > Bonjour à tous, > j'ai un problème avec le code que l'on a construit à plusieurs > pendant le dernier Dojo Smallalk. A voir ici : > http://www.xp-france.net/cgi-bin/wiki.pl?DojoDeveloppement/ > Lundi24Juillet2006 > Quand je lance les trois tests, ils ne passent pas. Puis je lance : > JeuDeLaVie newWithGrilleVide, puis j'inspecte la variable > d'instance grille et elle ne contient pas le bon tableau qui est > sensé représenter un tableau vide (le tableau : > #(#($. $. $.) #($. $. $.)#($. $. $.))). Le tableau est modifié dans > la méthode : naissanceEnLigne: l colonne: c > > J'ai l'impression qu'il y a un problème de partage de littéraux ... > J'ai essayé de faire des copies des tableaux pour éviter ce genre > de problème, mais cela ne marche pas visiblement ... any ideas ? Dans VW, c'est un peu plus cohérent car si j'essaie de modifier un litteral array, il me dit que c'est immutable. -- oooo Dr. Serge Stinckwich OOOOOOOO Université de Caen>CNRS UMR 6072>GREYC>MAD OOESUGOO http://purl.org/net/SergeStinckwich oooooo Smalltalkers do: [:it | All with: Class, (And love: it)] \ / ## _______________________________________________ Squeak-fr mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr |
Bonjour Serge,
Je suis peut-être complètement dans le champs, mais losrsque je fais JeuDeLaVie newWithGrilleVide, le compilateur se plaint un peu. J'ai donc modificer newWithGrilleVide par : On 7/27/06, Serge Stinckwich <[hidden email]> wrote:
_______________________________________________ Squeak-fr mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr |
Oups...Jjai enfoncé le bouton send un peu trop rapidement, donc :
On 7/27/06, Gilles Jobin <[hidden email]> wrote:
_______________________________________________ Squeak-fr mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr |
In reply to this post by Serge Stinckwich-4
je n'ai pas regarde le code mais il faut savoir que les literaux sont
parse a scan-time et stocker dans les objets qui representent les methodes (dans le literalFrame des CompiledMethods) donc en general il ne faut pas modifier un element d'un tableau qui ne serait reference que par une variable locale par exemple. On 27 juil. 06, at 12:01, Serge Stinckwich wrote: > > Le 27 juil. 06 à 11:34, Serge Stinckwich a écrit : > >> Bonjour à tous, >> j'ai un problème avec le code que l'on a construit à plusieurs >> pendant le dernier Dojo Smallalk. A voir ici : >> http://www.xp-france.net/cgi-bin/wiki.pl?DojoDeveloppement/ >> Lundi24Juillet2006 >> Quand je lance les trois tests, ils ne passent pas. Puis je >> lance : JeuDeLaVie newWithGrilleVide, puis j'inspecte la variable >> d'instance grille et elle ne contient pas le bon tableau qui est >> sensé représenter un tableau vide (le tableau : >> #(#($. $. $.) #($. $. $.)#($. $. $.))). Le tableau est modifié >> dans la méthode : naissanceEnLigne: l colonne: c >> >> J'ai l'impression qu'il y a un problème de partage de >> littéraux ... J'ai essayé de faire des copies des tableaux pour >> éviter ce genre de problème, mais cela ne marche pas >> visiblement ... any ideas ? > > Dans VW, c'est un peu plus cohérent car si j'essaie de modifier un > litteral array, il me dit que c'est immutable. > -- oooo > Dr. Serge Stinckwich OOOOOOOO > Université de Caen>CNRS UMR 6072>GREYC>MAD OOESUGOO > http://purl.org/net/SergeStinckwich oooooo > Smalltalkers do: [:it | All with: Class, (And love: it)] \ / > ## > > > > _______________________________________________ > Squeak-fr mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr > _______________________________________________ Squeak-fr mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr |
Le 28 juil. 06 à 10:25, stéphane ducasse a écrit : > je n'ai pas regarde le code mais il faut savoir que les literaux > sont parse a scan-time et stocker > dans les objets qui representent les methodes (dans le literalFrame > des CompiledMethods) donc > en general il ne faut pas modifier un element d'un tableau qui ne > serait reference que par une variable locale par exemple. > Oui, j'ai compris le problème. Il me semble déjà être tombé dans ce genre de piège ... C'est expliqué ici : http://wiki.cs.uiuc.edu/cs497rej/What+is+the +diff.+between+Array+with:+1+with:+2+and+a+literal+array J'ai rajouté une note dans la FAQ sur le Wiki : http://community.ofset.org/wiki/FAQ_d%C3%A9veloppeur_Squeak C'est un peu tordu d'ailleurs. Je trouve que cela devrait être empêché d'une manière ou d'une autre. VW génère une erreur par exemple. -- oooo Dr. Serge Stinckwich OOOOOOOO Université de Caen>CNRS UMR 6072>GREYC>MAD OOESUGOO http://purl.org/net/SergeStinckwich oooooo Smalltalkers do: [:it | All with: Class, (And love: it)] \ / ## _______________________________________________ Squeak-fr mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr |
Free forum by Nabble | Edit this page |