Lua - Syntaxe de base

Commençons à créer notre premier programme Lua!

Premier programme Lua

Programmation en mode interactif

Lua fournit un mode appelé mode interactif. Dans ce mode, vous pouvez taper les instructions les unes après les autres et obtenir des résultats instantanés. Cela peut être appelé dans le shell en utilisant la commande lua -i ou simplement la commande lua. Une fois que vous avez saisi ceci, appuyez sur Entrée et le mode interactif démarrera comme indiqué ci-dessous.

$ lua -i 
$ Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio
quit to end; cd, dir and edit also available

Vous pouvez imprimer quelque chose en utilisant l'instruction suivante -

print("test")

Une fois que vous appuyez sur Entrée, vous obtiendrez la sortie suivante -

test

Programmation du mode par défaut

L'appel de l'interpréteur avec un paramètre de nom de fichier Lua démarre l'exécution du fichier et continue jusqu'à ce que le script soit terminé. Lorsque le script est terminé, l'interpréteur n'est plus actif.

Écrivons un programme Lua simple. Tous les fichiers Lua auront l'extension .lua. Mettez donc le code source suivant dans un fichier test.lua.

print("test")

En supposant que l'environnement lua est correctement configuré, exécutons le programme en utilisant le code suivant -

$ lua test.lua

Nous obtiendrons la sortie suivante -

test

Essayons une autre façon d'exécuter un programme Lua. Voici le fichier test.lua modifié -

#!/usr/local/bin/lua

print("test")

Ici, nous avons supposé que l'interpréteur Lua était disponible dans votre répertoire / usr / local / bin. La première ligne est ignorée par l'interpréteur, si elle commence par le signe #. Maintenant, essayez d'exécuter ce programme comme suit -

$ chmod a+rx test.lua
$./test.lua

Nous obtiendrons la sortie suivante.

test

Voyons maintenant la structure de base du programme Lua, afin qu'il vous soit facile de comprendre les éléments de base du langage de programmation Lua.

Jetons à Lua

Un programme Lua se compose de divers jetons et un jeton est soit un mot-clé, un identificateur, une constante, une chaîne littérale ou un symbole. Par exemple, l'instruction Lua suivante se compose de trois jetons -

io.write("Hello world, from ",_VERSION,"!\n")

Les jetons individuels sont -

io.write
(
   "Hello world, from ",_VERSION,"!\n"
)

commentaires

Les commentaires sont comme un texte d'aide dans votre programme Lua et ils sont ignorés par l'interpréteur. Ils commencent par - [[et se terminent par les caractères -]] comme indiqué ci-dessous -

--[[ my first program in Lua --]]

Identifiants

Un identifiant Lua est un nom utilisé pour identifier une variable, une fonction ou tout autre élément défini par l'utilisateur. Un identificateur commence par une lettre «A à Z» ou «a à z» ou un trait de soulignement «_» suivi de zéro ou plusieurs lettres, traits de soulignement et chiffres (0 à 9).

Lua n'autorise pas les caractères de ponctuation tels que @, $ et% dans les identifiants. Lua est uncase sensitivelangage de programmation. Ainsi, la main - d’œuvre et la main - d’œuvre sont deux identificateurs différents à Lua. Voici quelques exemples d'identifiants acceptables -

mohd         zara      abc     move_name    a_123
myname50     _temp     j       a23b9        retVal

Mots clés

La liste suivante montre quelques-uns des mots réservés en Lua. Ces mots réservés ne peuvent pas être utilisés comme constantes ou variables ou tout autre nom d'identifiant.

et Pause faire autre
sinon si fin faux pour
fonction si dans local
néant ne pas ou répéter
revenir puis vrai jusqu'à
tandis que

Espace blanc à Lua

Une ligne ne contenant que des espaces, éventuellement avec un commentaire, est connue comme une ligne vierge, et un interpréteur Lua l'ignore totalement.

L'espace blanc est le terme utilisé dans Lua pour décrire les espaces, les tabulations, les caractères de nouvelle ligne et les commentaires. Les espaces séparent une partie d'une instruction d'une autre et permettent à l'interpréteur d'identifier où se termine un élément d'une instruction, comme int, et où commence l'élément suivant. Par conséquent, dans la déclaration suivante -

local age

Il doit y avoir au moins un caractère d'espacement (généralement un espace) entre local et age pour que l'interprète puisse les distinguer. D'autre part, dans la déclaration suivante -

fruit = apples + oranges   --get the total fruit

Aucun espace blanc n'est nécessaire entre les fruits et =, ou entre = et les pommes, bien que vous soyez libre d'en inclure si vous le souhaitez à des fins de lisibilité.