Prenez contact avec nous
 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.

Nombre de participants


Prix par participant

Nos clients témoignent (1)

Cours à venir

Catégories Similaires