[Squeak-fr] Equivalent du switch

Jean-François LEFEVRE jflefevre at sqli.com
Dim 24 Aou 10:07:32 UTC 2008


Bonjour,

La philosophie générale de Smalltalk consiste à décomposer ses 
traitements en petites méthodes.
Mettre un switch au milieu de son code est donc généralement considéré 
comme une mauvaise pratique.
Il est plutôt conseillé de sortir son switch en une méthode à part et de 
sortir de la méthode dès que possible.
Dans ton cas, cela donne :

vitesseVers: dir
   dir==#Haut ifTrue [^0 at 1].
   dir==#Bas ifTrue [^0 at -1].
   dir==#Gauche ifTrue [^-1 at 0].
   dir==#Droite ifTrue [^-1 at 0].
   self error: 'direction inconnue : ', dir printString

Cordialement,
Jean-François

Vincent Osele a écrit :
> Bonjour,
>
> J'ai cherché un peu mais je n'ai rien trouvé de satisfaisant sur le net.
>
> Comment écrivez-vous en switch en smalltalk ?
>
> J'ai vu une chouette implémentation mais au niveau object directement.
> Ca m'embête de modifier mon image et de produire un code qui ne sera plus 'portable'...
>
> Du coup de fait ainsi:
>
> vitesseVers: dir
>     dir==#Haut ifTrue [vitesse := 0 at 1].
>     dir==#Bas ifTrue [vitesse := 0 at -1].
>     dir==#Gauche ifTrue [vitesse := -1@].
>     dir==#Droite ifTrue [vitesse := 0 at -1].
>
>
> Et vous, vous feriez comment ?
>
> a+
> Vincent
>
>
>       _____________________________________________________________________________ 
> Envoyez avec Yahoo! Mail. Une boite mail plus intelligente http://mail.yahoo.fr
> _______________________________________________
> Squeak-fr mailing list
> Squeak-fr at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/squeak-fr
>
>
>
>   


-- 
*Jean-François LEFEVRE*
Architecte Senior
+33 (0)6 80 38 01 29
jflefevre at sqli.com <mailto:jflefevre at sqli.com> 	
268, avenue du Président Wilson 93210 LA PLAINE-SAINT-DENIS
Std : +33 1 55 93 26 00 - Fax : +33 1 55 93 26 01
*"SQLI Consulting, l'expert du conseil IT"*
www.sqli.com <http://www.sqli.com>

/----------------------------------------------------------------------------------
Ce message et toutes les pièces jointes (ci-après le "message") sont 
confidentiels et établis à l'intention exclusive de ses destinataires.
Toute utilisation ou diffusion non autorisée est interdite. Tout message 
électronique est susceptible d'altération.
---------------------------------------------------------------------------------- 

/




Plus d'informations sur la liste de diffusion Squeak-fr