Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
memolua [2020/04/16 20:38]
frag
memolua [2020/04/16 20:52] (Version actuelle)
frag
Ligne 21: Ligne 21:
 La structure conditionnelle s'​utilise de la façon suivante : La structure conditionnelle s'​utilise de la façon suivante :
  
-`if` _condition_ `then` _action_ `else` _action sinon_ `end`+`if` _condition_ `then` ​  
 +_action_ ​  
 +`else` ​  
 +_action sinon_ ​  
 +`end` 
 + 
 +La condition `else` est optionnelle. 
 + 
 +## Boucles 
 + 
 +Lua supporte les boucle `for`, `while` et `repeat`. ​  
 +Leur structure est la suivante : 
 + 
 +`for` _variable_`=` _borne début_`,​`_borne fin_`,​`_pas_ `do`   
 +_bloc de code_   
 +`end` 
 + 
 +Les bornes de début et de fin sont obligatoires et seront exécutées toutes les deux. Le pas est optionnel, s'il n'est pas précisé, il vaut 1. 
 + 
 +La boucle `while` s'​écrit de la façon suivante : 
 + 
 +`while` _condition `do`   
 +_bloc de code_   
 +`end` 
 + 
 +La boucle `repeat` s'​écrit de façon similaire avec la condition à la fin : 
 + 
 +`repeat` ​  
 +_bloc de code_   
 +`until` _condition_ 
 + 
 +## Opérations sur les booléens 
 + 
 +Lua accepte les opérateurs booléens classiques : `and`, `or` et `not` (en toutes lettres !). 
 + 
 +## Fonctions 
 + 
 +La déclaration d'une fonction peut se faire soit de façon traditionnelle : 
 + 
 +`function` _nom_de_fonction_`(` _paramètres_ `)`   
 +_corps de la fonction_ 
 +`end` 
 + 
 +soit par affectation d'une variable : 
 + 
 +_variable_ `= function(` _paramètres_ `)`   
 +_corps de la fonction_ 
 +`end` 
 + 
 +Le renvoi de valeur se fait avec `return`. ​  
 +Il est possible de retourner une fonction et ainsi de faire des closures (lua réalise la capture des variables encloses). ​  
 +Lors d'un appel de fonction, si le nombre de paramètres effectif est trop grand, les paramètres en excès sont ignorés. Si le nombre est trop petit, les paramètres manquants valent `nil`. Cette règle s'​applique aussi aux affectations. 
 + 
 +Les fonctions sont un type de premier rang, comme les variables elles peuvent être locales ou globales (par défaut). 
 + 
  
-Elle peut bien sûr s'​étendre sur plusieurs lignes.