Prenez contact avec nous

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

Nombre de participants


Prix par participant

Nos clients témoignent (1)

Cours à venir

Catégories Similaires