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