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.
Plan du cours
Introduction à Lua
- Un aperçu historique
- Objectifs, caractéristiques et non-objectifs de Lua
- Ressources pour la documentation et les tutoriels Lua
- Installation de l'interpréteur Lua
- Configuration et utilisation de LuaRocks
Syntaxe et sémantique de base
- Identifiants
- Commentaires, commentaires multi-lignes
- Variables globales et imposition de la stricte typologie
- Variables locales
- Programmes autonomes, arguments de programme
- Unités de compilation, blocs (chunks), expressions, points-virgules
Types de données et structures de données
- Types de base : nil, boolean, number, string
- Types d'objets : fonction, userdata, thread, table
- Références/objets par rapport aux valeurs de base
- L'importance des tables dans Lua
Introduction aux tables et à leur polyvalence
- Les tables comme tableaux associatifs
- Les tables comme tableaux numériques, 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 versus 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 sur les fonctions
- Arguments nommés
- Appels orientés objet
- Fermures (closures)
- Currying
- Appels en queue de recursivité (tail calls)
- Affectation et retour multiples
- Nombre variable d'arguments (varargs)
Itérateurs et coroutines
- La boucle for générique
- Itérateurs sans état versus itérateurs avec état
- Différences entre itérateurs et coroutines
Métatables et metamethods
- L'exemple de l'ensemble (set)
- Le metamethod __tostring
- Metamethods arithmétiques
- Les metamethods __index et __newindex
- Le metamethod __len
Modules et paquets
- Utilisation des modules
- Création de modules
- Organisation des modules en paquets
Programmation orientée objet
- Les briques de construction de la POO en Lua
- Exemples
Discussion sur des fonctionnalités avancées du langage
- Tables faibles (weak tables)
- Finaliseurs (finalizers)
- Compilation, évaluation (eval), chargement
Pré requis
Une familiarité avec au moins un autre langage de programmation. Une expérience en programmation. Optionnellement, si vous avez déjà une familiarité avec d'autres langages de script, cela facilitera la compréhension de Lua.
14 Heures
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.