-- Lingo syntax
case expression of
expression1: Statement
expression2: Statement(s)
expression3, expression4: Statement
{otherwise: Statement(s)}
end case
Mot-clé ; lance une structure de branchements multiples plus facile à rédiger qu’une suite d’instructions if...then.
Lingo compare la valeur de case expression aux expressions des lignes suivantes. Cette comparaison commence au début de ces lignes et continue dans l’ordre jusqu’à ce que Lingo rencontre une expression identique à case expression.
Le cas échéant, Lingo exécute la ou les instructions correspondantes suivant les deux-points placés après l’expression identique. Si une seule instruction suit l’expression identique, l’instruction peut être placée sur la même ligne que l’expression. Les instructions multiples doivent apparaître sur des lignes en retrait immédiatement après l’expression identique.
Lorsque plusieurs correspondances possibles pourraient entraîner Lingo à exécuter les mêmes instructions, les expressions doivent être séparées par des virgules. La ligne contenant expression3 et expression4 est un exemple d’une telle situation.
Lingo suspend sa recherche de correspondance dès qu’il rencontre la première expression correspondant à celle recherchée.
Si l’instruction facultative otherwise figure à la fin de la structure case, les instructions qui suivent otherwise sont exécutées si Lingo ne rencontre aucune expression identique.
Le gestionnaire suivant teste la touche sur laquelle l’utilisateur vient d’appuyer et y répond en conséquence.
on keyDown
case (_key.key) of
"a": _movie.go("Apple")
"b", "c":
_movie.puppetTransition(99)
_movie.go("Oranges")
otherwise: _sound.beep()
end case
end keyDown
L’instruction case suivante vérifie si le curseur se trouve sur l’image-objet 1, 2 ou 3 et exécute l’élément Lingo approprié :
case _movie.rollOver() of
1: sound(1).play(member("Horn"))
2: sound(1).play(member("Drum"))
3: sound(1).play(member("Bongos"))
end case