Lolcode - Déclarations et contrôle de flux
LOLCODE vous permet de contrôler le flux du programme à travers diverses instructions. Ce chapitre explique les différents types d'instructions disponibles dans LOLCODE.
Déclarations d'expression
Une expression sans aucune affectation, c'est-à-dire appelant simplement une opération mathématique ou une fonction quelconque, est une déclaration légale dans LOLCODE. Une fois l'expression évaluée, sa valeur finale est placée dans la variable temporaire IT. La valeur de IT reste dans la portée locale et existe jusqu'à la prochaine fois qu'elle est remplacée par une expression.
Déclarations d'affectation
Les instructions d'affectation sont utilisées pour affecter la sortie de toute expression à une variable donnée. Ils sont généralement de la forme -
<any_variable> <assignment operator> <any expression>
Veuillez noter que vous pouvez utiliser une variable dans l'expression, avant même qu'elle ne soit affectée.
Expressions conditionnelles
Déclarations If-Then
L'instruction if-then est une opération très simple fonctionnant sur la variable informatique. Elle est similaire aux instructions if – else dans d'autres langages de programmation comme C et Java.
Il existe quatre mots-clés pour appliquer les instructions if – then.
- O RLY?
- YA RLY
- PAS DE WAI
- OIC
La forme générale est -
<any_expression>
O RLY?
YA RLY
<code to execute if above condition is true>
NO WAI
<code to execute in this block>
OIC
Toutes les instructions ci-dessus peuvent être écrites sur la même ligne séparées par des virgules comme -
BOTH SAEM NAMES AN "Name", O RLY?
YA RLY, VISIBLE "My name is ABCD"
NO WAI, VISIBLE "Your name is ABCD"
OIC
Lors de l'utilisation des instructions if-then, un MEBBE facultatif <toute expression> peut être utilisé entre les blocs YA RLY et NO WAI.
Si <toute expression> suivant MEBBE est True (WIN), alors ce bloc est exécuté. Sinon, si cette expression est fausse, le bloc est ignoré jusqu'aux instructions MEBBE, NO WAI ou OIC suivantes.
Exemple
<any expression>
O RLY?
YA RLY
<code to be executed if true>
MEBBE <expression>
<code to be executed mebbe is true>
MEBBE <expression>
<code to be executed mebbe is true>
NO WAI
<code to be executed if above are false>
OIC
Exemple
BOTH SAEM NAMES AN "NAME"
O RLY?
YA RLY, VISIBLE "YOUR NAME IS ABCD"
MEBBE BOTH SAEM ANIMAL AN "OUR NAME IS ABCD"
VISIBLE "NO ABCD"
OIC
Déclarations de cas
Dans LOLCODE, le mot clé "WTF?" est similaire au commutateur dans de nombreuses autres langues. Le mot-clé WTF? prend IT comme valeur d'expression pour la comparaison. Pour utiliser WTF, un bloc de comparaison est ouvert par OMG qui doit être un littéral et non une expression.
N'oubliez pas que chaque littéral doit être unique, similaire au cas des autres langues.
Le bloc OMG doit être terminé par une instruction GTFO. Si un bloc OMG n'est pas terminé par un GTFO, le bloc OMG suivant est exécuté jusqu'à ce que GTFO soit atteint.
Si aucun des littéraux n'est évalué comme vrai, alors la casse par défaut est signifiée par OMGWTF.
WTF?
OMG <any value to compare>
<code block to execute if expression is satisfied>
OMG <any value to compare>
<code block to execute if expression is satisfied>
OMGWTF
<code block to execute as a default case>
OIC
NAME, WTF?
OMG "A"
VISIBLE "ABCD"
GTFO
OMG "E"
VISIBLE "EFGH"
GTFO
OMGWTF
VISIBLE "ZYXW"
OIC
Les résultats de sortie du code ci-dessus seront -
"E":
EFGH