Leçons de niveau 12

Introduction au Lua/Introduction

Une page de Wikiversité.
Sauter à la navigation Sauter à la recherche
Début de la boite de navigation du chapitre
Introduction
Icône de la faculté
Chapitre no 2
Leçon : Introduction au Lua
Chap. préc. :Historique
Chap. suiv. :Scribunto
fin de la boite de navigation du chapitre
Icon falscher Titel.svg
En raison de limitations techniques, la typographie souhaitable du titre, « Introduction au Lua : Introduction
Introduction au Lua/Introduction
 », n'a pu être restituée correctement ci-dessus.

Lua peut s'utiliser à la fois comme un langage de script avec son propre interpréteur local, mais aussi pour produire des scripts pour d'autres plateformes. Cette leçon se concentre sur l'utilisation de Lua avec son propre interpréteur installé localement. et disponible sur Lua.org. Reportez-vous à la prochaine leçon pour l'étude de Lua et sa nouvelle extension Scribunto pour Mediawiki.

Prérequis[modifier | modifier le wikicode]

Vous aurez besoin de l’interpréteur Lua que vous pouvez télécharger via le site officiel. L'archive contient le compilateur et quelques exemples de script. Votre système d'exploitation propose probablement une version propre. Le programme est léger, facile et rapide à installer même sur OpenSuse.

Interpréteur en ligne de commande[modifier | modifier le wikicode]

L’interpréteur en ligne de commande est un outils utile pour tester rapidement votre code. Il exécute les lignes de commandes dés que vous appuyez sur Enter et retient un bloc d'instructions (comme une condition ou boucle) jusqu’à ce que vous l'ayez terminée par son code end. Si vous avez installé le programme, ouvrez le terminal et saisissez lua pour démarrer l’interpréteur. Sinon télécharger pour l'installer, où suivez La démo Lua, interpréteur en ligne.

Voici un exemple de session:

Lua 5.1.1  Copyright (C) 1994-2006 Lua.org, PUC-Rio
> print("Hello, world!")
Hello, world!
> print(5+7)
12
> if true then
>> print(true)
>> end
true

La première ligne utilise la fonction print pour renvoyer le message "Hello World" sous forme de chaine de caractères (string). Les nombres et valeurs booléennes peuvent s'afficher par le biais de la même commande print. L’interpréteur ajoute automatiquement un symbole ">" aux blocs pour les indenter sur la ligne de commande. Quand vous avez terminez faites Ctrl-D (EOF) pour fermer l’interpréteur.

Exécuter et compiler un programme[modifier | modifier le wikicode]

La méthode précédente est convenable pour tester quelques instructions, pas pour écrire un script. Les scripts sont communément enregistrés dans des fichiers avec le suffixe .lua. Pour exécuter le script on passe le nom du fichier à l’interpréteur en argument de la commande lua. lua monscript.lua

Vous pouvez compiler votre script avec: luac monscript.lua, qui va compiler le code binaire dans un fichier nommé luac.out. Vous utiliserez le paramètre -o pour spécifier le fichier de sortie. Ce qui donne :luac -o outputfile inputfile.

Variables[modifier | modifier le wikicode]

La suite de cette leçon vous montre des exemples de code ; a vous de "jouer" en les testant directement sur l’interpréteur ou via un fichier.

Lua attribue de façon dynamique leur type aux variables, ou plutôt les variables n'ont pas de type seul les données en ont. Concrètement, vous pouvez attribuer à une même variable des données de type différents...

Observez ceci :

a = 15
print(a)
a = "Hello"
print(a)

Output:

15
Hello

Avantage, vous pouvez manipulez facilement des données de différents type avec une seule variable ; inconvénient, les données aux formats inattendus peuvent provoquer des erreurs.

Types de données[modifier | modifier le wikicode]

Heureusement, la liste des types de données basique disponible est courte:

  • boolean: Soit true soit false
  • number: Un nombre réel (précision virgule flottante)
  • string: Une chaîne de caractères "Opa pessoal, sou Carioca!".
  • function: Les fonctions sont des valeurs de première-classe pour Lua (nous en reparlerons).
  • userdata: Un objet C que vous passez à Lua (nous en reparlerons).
  • thread: Co-routine Lua (nous en reparlerons).
  • table: Les tables qui sont la clé du langage car elles constituent une structure de données flexible (nous en reparlerons souvent).
  • nil: Nul est un type de donnée nil, qui représente l’absence de valeur nil Constitue avec les tables l'autre clé du langage, une variable doit avoir une valeur sinon elle devient nil...

Voir aussi[modifier | modifier le wikicode]

Lua for Wikiversity (en)