Lolcode - Variables
Comme dans tout autre langage de programmation, LOLCODE vous permet de définir des variables de différents types. Ce chapitre vous familiarisera avec l'utilisation des variables dans LOLCODE.
Portée des variables
La portée d'une variable est locale à la fonction ou au bloc de programme, c'est-à-dire qu'une variable définie dans une portée ne peut pas être appelée dans une autre portée du même programme. Les variables ne sont accessibles qu'après avoir été déclarées.
Veuillez noter qu'il n'y a pas de portée globale des variables dans LOLCODE.
Conventions de nommage
Les noms de variables sont généralement appelés identificateurs. Voici quelques-unes des conventions pour nommer les variables dans LOLCODE -
Les identificateurs de variable peuvent être en majuscules ou en minuscules (ou un mélange des deux).
Ils ne peuvent commencer que par une lettre, puis être suivis d'autres lettres, chiffres et traits de soulignement.
LOLCODE n'autorise pas l'utilisation d'espaces, de tirets ou d'autres symboles lors de la dénomination d'une variable.
Les identificateurs de variable sont sensibles à la casse.
Voici quelques règles pour les noms valides et non valides pour les variables dans LOLCODE−
Le nom doit toujours commencer par un alphabet. Par exemple,name, Name sont valides.
Le nom d'une variable ne peut pas commencer par un chiffre. Par exemple,2var est invalide.
Le nom d'une variable ne peut pas commencer par un caractère spécial.
Une variable peut contenir _ ou un chiffre n'importe où dans son nom, sauf à l'index de départ. Par exemple,name2_m est un nom valide.
Quelques exemples de noms valides dans LOLCODE sont présentés ci-dessous -
HAI 1.2
I HAS A food ITZ "111.00033"
I HAS A food2 ITZ "111"
I HAS A fo_od ITZ "1"
VISIBLE food
VISIBLE food2
VISIBLE fo_od
KTHXBYE
Toutes les instructions de déclaration dans le code ci-dessus sont valides et produiront la sortie suivante une fois exécutées -
sh-4.3$ lci main.lo
111.00033
111
1
Quelques exemples d'instructions invalides et leur sortie sont donnés ci-dessous -
Exemple 1
HAI 1.2
I HAS A 2food ITZ "111.00033"
KTHXBYE
Le code ci-dessus donnera la sortie suivante lorsque vous l'exécuterez -
sh-
4.3$ lci main.lo
Line 2: Expected: identifier; Got: int(2).
Exemple 2
HAI 1.2
I HAS A _food ITZ "111.00033"
KTHXBYE
Le code ci-dessus donnera la sortie suivante lorsque vous l'exécuterez -
sh-
4.3$ lci main.lo
Line 2: Unrecognized sequence at: _food ITZ "111.00033".
Exemple 3
HAI 1.2
I HAS A f$ood ITZ "111.00033"
KTHXBYE
Le code ci-dessus donnera la sortie suivante lorsque vous l'exécuterez -
sh-
4.3$ lci main.lo
Line 2: Unrecognized sequence at: $ood ITZ "111.00033".
Déclaration et affectation des variables
À declareune variable, LOLCODE fournit un mot-clé «I HAS A» qui est suivi du nom de la variable. Vous pouvez trouver ci-dessous la syntaxe pour déclarer une variable.
I HAS A VAR BTW VAR is empty now, You can use any name instead of var
À assignla variable une valeur dans la même instruction, vous pouvez ensuite suivre le nom de la variable avec «ITZ» et ensuite donner la valeur que vous souhaitez attribuer. Utilisez la syntaxe suivante pour attribuer une valeur à une variable -
<variable> R <expression>
Exemple
VAR R "Green" BTW VAR is now a YARN and equals "Green"
VAR R 30 BTW VAR is now a NUMBR and equals 30
Vous pouvez aussi declare et assign variables en même temps en utilisant la syntaxe suivante -
I HAS A VAR ITZ VALUE
Exemple
I HAS A NAME ITS “TUTORIALS POINT”
Exemple
HAI 1.2
BTW this is how we declare variables
I HAS A food
I HAS A bird
BTW this is how we assign variables
food R 1
bird R 5
BTW this is how initialize variables
I HAS A biz ITZ "OMG!"
VISIBLE food
VISIBLE biz
VISIBLE bird
KTHXBYE
Le programme ci-dessus montre la déclaration des variables et les imprime. La sortie est -
sh-
4.3$ lci main.lo
1
OMG!
5
Type Casting
Pour convertir une valeur d'un type en un autre type, nous utilisons la conversion de type. La conversion d'un NUMBAR en NUMBR tronque la partie décimale du nombre à virgule flottante. Le cast d'un NUMBAR en un YARN (en l'imprimant, par exemple), tronque la sortie à 2 décimales par défaut.
Exemple
HAI 1.2
I HAS A food ITZ "111.00033"
VISIBLE food
BTW this is how we do type casting
MAEK food A NUMBAR
VISIBLE food
KTHXBYE
La ligne de code ci-dessus produira la sortie suivante -
sh-4.3$ lci main.lo
111.00033
111.00033
Toutes les variables déclarées dans un programme LOLCODE sont des variables locales et il n'y a pas de portée globale dans ce langage pour aucune variable.