Merci d'avoir envoyé votre demande ! Un membre de notre équipe vous contactera sous peu.
Merci d'avoir envoyé votre réservation ! Un membre de notre équipe vous contactera sous peu.
Durée 14 heures
Plan du cours
Introduction à Lua
- Un peu d'histoire
- Objectifs, fonctionnalités et non-objectifs de Lua
- Ressources de documentation et de tutoriels de Lua
- Installation de l'interpréteur Lua
- Configuration et utilisation de LuaRocks
Syntaxe et sémantique de base
- Identifiants
- Commentaires, commentaires de bloc
- Variables globales et application de la rigueur
- Variables locales
- Programmes autonomes, arguments de programme
- Unités de compilation, fragments (chunks), expressions, point-virgule
Types de données et structures de données
- Types de base : nil, boolean, number, string
- Types d'objets : function, userdata, thread, table
- Références/objets vs valeurs de base
- L'importance des tables en Lua
Introduction aux tables et à leur polyvalence
- Tables en tant que tableau associatif
- Tables en tant que tableau numérique, séquences
Structures de contrôle de base
- La structure if then elseif else end
- La boucle while
- La boucle repeat
- La boucle for simple
Gestion des erreurs
- Valeurs de retour vs exceptions
- Conversion d'une valeur de retour en exception
- Conversion d'une exception en valeur de retour
- Niveaux d'erreur
Exemples de programmes
- Évaluation de polynômes
- Recherche en largeur (Breadth first search)
- Exercices supplémentaires
Plus en détail sur les fonctions
- Arguments nommés
- Appels orientés objet
- Fermetures (Closures)
- Currying
- Appels en queue (Tail calls)
- Affectation multiple et retour
- Arguments variables (Varargs)
Itérateurs et coroutines
- La boucle for générique
- Itérateurs sans état vs itérateurs avec état
- Différences entre itérateurs et coroutines
Tables de méta et métaméthodes
- L'exemple des ensembles (sets)
- La métaméthode __tostring
- Métaméthodes arithmétiques
- Les métaméthodes __index, __newindex
- La métaméthode __len
Modules et paquets
- Utilisation des modules
- Création de modules
- Organisation des modules en paquets
Programmation orientée objet
- Les briques de base de la POO en Lua
- Exemples
Débat sur des fonctionnalités de langage plus avancées
- Tables faibles (Weak tables)
- Finalisateurs
- Compilation, eval, chargement
Pré requis
Connaissance d'au moins un autre langage de programmation. Expérience en programmation. La familiarité avec d'autres langages de script est facultative, mais elle facilite la compréhension de Lua.
Nos clients témoignent (1)
La clarté des informations. Malgré un programme très compact car très court (2 jours), nous sommes allés des bases jusqu'aux notions les plus poussées du Lua de manière simple.