Re: [Squeak-fr] Présentation, et petit soucis avec les dictionnaires
Mathieu Suen
mathk.sue at gmail.com
Jeu 5 Juil 21:51:41 UTC 2007
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.
On Jul 5, 2007, at 7:14 PM, fbeudaert at altern.org wrote:
> | f ligne donneesLigne assoc cle valeur ancienneValeur |
> assoc := Dictionary new.
> Transcript clear.
> f := FileStream oldFileNamed: 'test.csv'.
> [(ligne := f nextLine) notNil] whileTrue: [
> donneesLigne := ligne csvSubstrings.
> cle := (donneesLigne at: 1) asSymbol. Transcript show: cle;cr.
> Transcript show: donneesLigne;cr.
> valeur := (donneesLigne at: 2) asInteger.
> (assoc includesKey: cle)
> ifFalse: [
> assoc add: (cle->valeur)]
> ifTrue: [
> Transcript show: 'on ajoute';cr.
> ancienneValeur := assoc at: cle.
> assoc at: cle put: (ancienneValeur + valeur)]
> ].
> f close.
> Transcript show: assoc ; cr. assoc inspect.
Plus d'informations sur la liste de diffusion Squeak-fr