Cette arnaque de ZX81 ne me manque pas : l'absence de ELSE obligeait à du code rallonge pour avoir des scripts portables, ou alors fallait maintenir une version Spectrum plus longue.
Génial l'adresse calculée ; ça permet de faire comme des étiquettes si on défini des constantes parlantes auparavant (du coup on n'oublie pas un GOTO 500 en cas de refactoring et on ne change la définition LET WHERE=500 qu'une seule fois.) Bref, autoriser plus de discipline et de concision (comparé aux successifs IF ... GOTO ... pour le même résultat.)
11PRINT"1 Formule A"12PRINT"2 Formule B"13PRINT"3 Formule C"20PRINT"Votre Choix ?"21READA30REM GOTO A*10031IFA=1GOTO10032IFA=2GOTO20033IFA=3GOTO30040PRINT"Mauvais Nombre"99STOP100PRINT"A"110STOP200PRINT"B"210STOP300PRINT"C"310STOP
Ah oui, c'est vrai, les ON ... GOTO ... et ON ... GOSUB ... que j'ai oublié bien que présents dans : AppleSoft BASIC, Atari BASIC, etc. Ils survivent encore dans VBA...
Effectivement, c'est un équivalent de BRANCH chez PICAXE.
11PRINT"1 Formule A"12PRINT"2 Formule B"13PRINT"3 Formule C"20PRINT"Votre Choix ?"21READA30ONAGOTO100,200,30031REM BRANCH A,100,200,30032REM ON A GOTO A*10040PRINT"Mauvais Nombre"99STOP100PRINT"A"110STOP200PRINT"B"210STOP300PRINT"C"310STOP
La forme la plus avancée (proche des switch modernes) est le SELECT CASE ... ... END de Gambas et de VB
"It is seldom that liberty of any kind is lost all at once." ― David Hume
[^] # Re: tout lu mais
Posté par Gil Cot ✔ (site web personnel, Mastodon) . En réponse au journal 50 mauvais conseils de codage pour développeur C++. Évalué à 2.
Cette arnaque de ZX81 ne me manque pas : l'absence de
ELSEobligeait à du code rallonge pour avoir des scripts portables, ou alors fallait maintenir une version Spectrum plus longue.Génial l'adresse calculée ; ça permet de faire comme des étiquettes si on défini des constantes parlantes auparavant (du coup on n'oublie pas un
GOTO 500en cas de refactoring et on ne change la définitionLET WHERE=500qu'une seule fois.) Bref, autoriser plus de discipline et de concision (comparé aux successifsIF ... GOTO ...pour le même résultat.)Ah oui, c'est vrai, les
ON ... GOTO ...etON ... GOSUB ...que j'ai oublié bien que présents dans : AppleSoft BASIC, Atari BASIC, etc. Ils survivent encore dans VBA...Effectivement, c'est un équivalent de
BRANCHchez PICAXE.La forme la plus avancée (proche des
switchmodernes) est leSELECT CASE ... ... ENDde Gambas et de VB"It is seldom that liberty of any kind is lost all at once." ― David Hume