# Introduction au Lua/Expressions

Un module de Lua Scribunto est une page de l'espace de nom "Module" qui utilise une table comme variable locale pour stocker ses fonctions et variables mais aussi pour renvoyer la réponse à la fin du processus. Une expression est formée de valeurs, variables et opérateurs ces derniers ont classés en trois catégories: arithmétique, relationnelle, logique. Cette leçon montre comment utiliser les expression dans un script.

## Prérequis

Cette leçon suppose que vous ayez assimilé la leçon Variables.

## Créer un script Lua avec des expressions

* Rendez-vous sur le Module:Sandbox.
* Supprimer le code existant.
* Ajouter le code suivant et enregistrer la page

## Tester votre script

* Rendez-vous sur "votre page de test".
* Ajouter le code suivant et enregistrer la page
Le résultat doit correspondre à ceci:

   ### Arithmetic

       a is 3
       b is 2
       a + b is 5
       a - b is 1
       a * b is 6
       a / b is 1.5
       a % b is 1
       a ^ b is 9
       -a is -3

   ### Relational

       a is 3
       b is 2
       a == b is false
       a ~= b is true
       a < b is false
       a > b is true
       a <= b is false
       a >= b is true

   ### Logical

       a is 3
       b is 2
       a < b and b < a is false
       a < b or b < a is true
       a < b is false
       not (a < b) is true

   ### Length

       The length of "This is a string" is 16

## Comprendre le script

* local Le code qui suit défini les variables a, b et result ; a et b sont initialisés ; result est nil.
* 3 et 2 sont des valeurs littérales numériques.
* ';Arithmetic\n' est une chaine de caractères littérale, Lua accepte également le symbole " parfois appelé guillemet français ou double-guillemets comme délimiteur pour les chaines: ";Arithmetic\n".
* \n représente une nouvelle ligne. Le contenu qui suit apparaitra sur la ligne suivante dans votre page de test.
* .. est l'opérateur permettant de concaténer (c-à-d joindre) deux chaines de caractères. Les valeurs numériques sont automatiquement converties en string lors de cette opération.
* +, -, *, et / sont les opérateurs respectifs d'addition, soustraction, multiplication et division.
* % est appelé modulo il calcul le reste de la division euclidienne.
* ^ opérateur exposant, élève à la puissance.
* - précédé d'une variable est l'opérateur de négation-
* == comparateur d’équivalence.
* ~= comparateur de non-équivalence (différence exacte).
* <, >, <=, et >= opérateurs de comparaison respectivement, inférieur, supérieur, inférieur ou égal, supérieur ou égal.
* tostring converti explicitement le contenu en chaine de caractère (string). Les comparateurs ne convertissent pas le type des valeurs.
* and retourne false si l’opération de gauche est fausse, ou la valeur de droite si l’opération de gauche est vraie. ...
    Cette approche gauche/droite est plus efficace, car l’opérateur logique and stop son évaluation dès que le résultat est faux.
* or retourne vrai si l’opération de gauche est vraie, ou la valeur de droite si l'opération de gauche fausse...
    Cette approche gauche/droite est plus efficace, car l’opérateur logique or stop son évaluation dès que le résultat est vrai.
* not retourne l'opposé vrai/faux de ce qui suit...
* # retourne la longueur de la variable qui suit.

## Conclusion

Félicitation vous êtes capable de créer, tester et comprendre un script Lua avec des expressions. Continuez avec la leçon Conditions.