Bonjour, et merci à tous pour vos réponses si promptes !
@ Damien : La methode "csvSubstrings" était déjà dans l'image que j'utilise (ou je l'ai installée, je ne me souviens plus) et donne une OrderedCollection à partir d'une String : 'toto,1,b' csvSubstrings --> #('toto' '1' 'b'). Et oui, le #at:put au lieu du #add: c'est bien plus logique (lol), enfin c'est le métier qui rentre. Par contre je n'ai pas vu d'espaces dans les chaînes résultantes. Donc c'est peut-être autre-chose. Ah, (je réfléchis tout haut, là) ce ne serait pas à cause d'une distinction genre "=" par rapport à "==" dans la gestion interne des dictionnaires, par hasard ?
@ Hilaire : Je laisse tomber le asSymbol, effectivement.
@ Mathieu : De vieux réflexes de "BASIC 80's" traînent encore (ainsi que les "echo '<pre>$variable</pre>';" du PHP) ;) Et oui, les possibilités de débogage qu'a Squeak sont géniales, mais je n'ai pas encore pris le temps d'apprendre à m'en servir. Bientôt bientôt ;)
En tout cas merci pour vos réponses.
A très bientôt,
Frédéric
Message: 2 Date: Thu, 5 Jul 2007 22:34:16 +0200 From: "Damien Cassou" damien.cassou@gmail.com Subject: =?UTF-8?Q?Re:_[Squeak-fr]_Pr=C3=A9sentation, _et_p?= etit soucis avec les dictionnaires To: " Squeak in french / Squeak en français " squeak-fr@lists.squeakfoundation.org Message-ID: 6ac749c10707051334n1bcd0303pacbfe1e68ee49b49@mail.gmail.com Content-Type: text/plain; charset=UTF-8; format=flowed
Le 05/07/07, fbeudaert@altern.orgfbeudaert@altern.org a écrit :
Bonjour,
Bonjour,
Bienvenue alors :-).
Quand on obtient #'une chaine', c'est qu'il y a sûrement un espace ou un caractère non alphanumérique dans la chaîne.
'toto ' asSymbol --> #'toto ' 'toto' asSymbol --> #toto
Le script me paraît correct, mais tu ne dis pas ce que fait la commande #csvSubstrings exactement et comment elle le fait. Autre chose, on n'ajoute pas dans un dictionnaire avec #add:, mais uniquement avec #at:put:.
-- Damien Cassou
Message: 3 Date: Thu, 5 Jul 2007 23:51:41 +0200 From: Mathieu Suen mathk.sue@gmail.com Subject: Re: [Squeak-fr] Présentation, et petit soucis avec les dictionnaires To: Squeak in french / Squeak en français squeak-fr@lists.squeakfoundation.org Message-ID: E4B31CDF-E166-42DB-BBBC-B8FCED893D12@gmail.com Content-Type: text/plain; charset=ISO-8859-1; delsp=yes; format=flowed
Salut
Pour lire dans les fichier tu peux faire FileStream oldFileNamed: fileName do: [ ... ]
Cela t'evite de faire f close.
Tu devrais plutot nomé ton dictionaire 'dict' assoc fait plus penser a une seul association.
tu peux utilisé #at:ifAbsent:
dict at: key put: (dict at: key ifAbsent:[0]) + value
Aussi tu n'as pas besoin de Transcript>>show:. Il est souvant plus facile d'utiliser le debugger. En squeak on a un tres bon debugger. Tu peus inspecter tres facilement toutes les variables et compiler du code a la voler. Donc c'est plus dinamic que les autres langage. C'est tres rare que les gens utilise le Transcript pour debugger.
Tu peux utiliser la method #halt qui est l'équivalant d'un breakpoint.
Message: 4 Date: Fri, 06 Jul 2007 09:07:42 +0200 From: Hilaire Fernandes cd40.tice@ac-bordeaux.fr Subject: Re: [Squeak-fr] Présentation, et petit soucis avec les dictionnaires To: Squeak in french / Squeak en français squeak-fr@lists.squeakfoundation.org Message-ID: 468DEA3E.1030706@ac-bordeaux.fr Content-Type: text/plain; charset="iso-8859-1"
fbeudaert@altern.org a écrit :
A un moment j'utilise un asSymbol pour transformer une string du CSV pour faire la clé. Seulement dans certain cas, 'toto' devient #'toto' au lieu de #toto, et dans d'autres j'ai bien #toto... Là j'avoue que je ne
Rien à voir avec ton problème, mais sais tu que ta clé peut-être n'importe quel objet qui comprend les messages hash et =. Ainsi tu peux prendre pour ta clé directement une chaîne comme 'toto'. MLais ça peut-être bien d'autres objets...
Hilaire
squeak-fr@lists.squeakfoundation.org