Syntaxe de base de Lua

Lua est très simple à apprendre, et nous pouvons créer notre premier programme Lua !

L'extension des fichiers de code Lua est.lua。


Premier programme Lua

Programmation interactive

Lua fournit un mode de programmation interactive. Nous pouvons saisir des programmes en ligne de commande et voir les résultats immédiatement.

Le mode de programmation interactive de Lua peut être activé avec la commande `lua -i` ou `lua` :

$ lua -i 
$ Lua 5.3.0  Copyright (C) 1994-2015 Lua.org, PUC-Rio
> 

À la ligne de commande, saisissez la commande suivante :

> print("Hello World!")

Appuyez ensuite sur Entrée, et la sortie est la suivante :

> print("Hello World!")
Hello World!
>

Programmation de script

Nous pouvons enregistrer le code du programme Lua dans un fichier se terminant par `.lua` et l'exécuter. Ce mode est appelé programmation de script. Par exemple, nous stockons le code suivant dans un fichier de script nommé `hello.lua` :

print("Hello World!")
print("www.example.com")

Exécutez le script ci-dessus avec la commande `lua`, et la sortie est :

$ lua hello.lua
Hello World!
www.example.com

Nous pouvons également modifier le code sous la forme suivante pour exécuter le script (ajouter au début : `#!/usr/local/bin/lua`) :

Exemples

#!/usr/local/bin/lua

print("Hello World!")
print("www.example.com")

Dans le code ci-dessus, nous avons spécifié l'interpréteur Lua `/usr/local/bin/lua`. L'ajout du marqueur `#` indique à l'interpréteur de l'ignorer. Ensuite, nous ajoutons des permissions d'exécution au script et l'exécutons :

./hello.lua 
Hello World!
www.example.com

Commentaires

Commentaire sur une ligne

Un commentaire sur une seule ligne commence par deux tirets--au début, et le contenu qui suit sera ignoré par l'interpréteur.

--

Les commentaires sur une seule ligne sont généralement utilisés pour de brèves explications ou des marqueurs de code.

Commentaire multiligne

Les commentaires multilignes commencent par--[[et se terminent par]]adaptés aux cas où un grand bloc de code doit être décrit.

--[[
 Multi-line comment
 Multi-line comment
 --]]

Lua ne prend pas en charge les commentaires imbriqués, ce qui signifie que vous ne pouvez pas imbriquer un autre commentaire multiligne à l'intérieur d'un commentaire multiligne. Par exemple, le code suivant n'est pas valide :

--[[
This is a multi-line comment
--[[
Nested multi-line comment (this is illegal)
]]
]]

Identificateurs

Les identifiants Lua servent à définir une variable, une fonction ou d'autres éléments définis par l'utilisateur. Un identifiant commence par une lettre A à Z ou a à z ou un trait de soulignement_suivi de zéro ou plusieurs lettres, traits de soulignement ou chiffres (0 à 9).

Il est préférable de ne pas utiliser d'identifiants composés d'un trait de soulignement suivi de lettres majuscules, car les mots réservés de Lua sont eux aussi de ce type.

Lua n'autorise pas les caractères spéciaux tels que@, $, et%pour définir des identifiants. Lua est un langage de programmation sensible à la casse. Par conséquent, en Lua, Example et example sont deux identifiants différents.

La liste suivante présente quelques identifiants corrects :

mohd         zara      abc     move_name    a_123
myname50     _temp     j       a23b9        retVal

Mots-clés

La liste suivante présente les mots-clés réservés de Lua. Les mots-clés réservés ne peuvent pas être utilisés comme constantes, variables ou autres identifiants définis par l'utilisateur :

et break do else
elseif end false for
fonction if in local
nil not ou repeat
return puis vrai until
while goto

Par convention générale, les noms commençant par un trait de soulignement suivi d'une chaîne de lettres majuscules (comme `_VERSION`) sont réservés aux variables globales internes de Lua.


Variables globales

Par défaut, les variables sont toujours considérées comme globales.

Les variables globales n'ont pas besoin d'être déclarées. L'affectation d'une valeur à une variable crée cette variable globale. Accéder à une variable globale non initialisée ne provoque pas d'erreur ; cela donne simplement : `nil`.

> print(b)
nil
> b=10
> print(b)
10
>

Si vous voulez supprimer une variable globale, affectez simplement `nil` à la variable.

b = nil
print(b)      --> nil

De cette façon, la variable `b` est comme si elle n'avait jamais été utilisée. En d'autres termes, une variable existe si et seulement si elle n'est pas égale à `nil`.

Autres extensions