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