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.