Booster des Talents IT

Formation Lua

logo du langage de script lua
Cette formation Lua vous permettra d’appréhender l’ensemble des fonctionnalités offertes par ce langage de script libre. Vous aborderez notamment la syntaxe de base, le fonctionnement des tables, mais aussi différentes méthodes de programmation avancées.
Prixà partir de
Nous consulter
RéférenceAF15770
Durée4 jours
Public Développeurs
PrérequisExpérience préalable en programmation, connaissance d’un langage de script.
Éditeurs Open Source
TP50%

Plan de Formation Lua

Chapitre introductif

Histoire du projet
Avantages et limites du langage
Ressources, documentation et tutoriels
Installation de l’interpréteur
Configuration et utilisation de LuaRocks
MoonRocks

Syntaxe et sémantique de base

Les identifiants
Commentaires et blocs de commentaires
Variables globales et module « strictness »
Variables locales
Standalones et arguments
Unités de compilation, blocs, semi-colonnes et expressions

Types et structures de données

Types de base : nil, booléen, number, string
Types d’objets : function, userdata, thread, table
Références et valeurs de base
L’importance des tables

Structures de contrôle basiques

La construction if the elseif else end
La boucle while
La boucle repeat
La boucle for

Gestion des erreurs

Exceptions et valeurs de retour
Conversion d’une valeur de retour en une exception
Conversion d’une exception en une valeur de retour
Niveaux d’erreur

Exemples de programmes

Evaluation polynomiale
Algorithme de parcours en largeur (breadth first search)
Autres exemples

Fonctions avancées

Arguments nommés
Appels orientés objet
Fermetures
Technique de currying
Récursion terminale
Affectations mutliples et retours
Travailler avec les varargs

Coroutines et itérateurs

La boucle générique for
Itérateur à état ou sans état
Différences entre itérateurs et coroutines

Métatables et métaméthodes

Présentation
La métaméthode _tostring
Méthaméthoes arithmétiques
_index et _ newindex
_len

Modules et packages

Utiliser les modules
Créer les modules
Organiser les modules dans les packages

Tables avancées

Queues et stacks
Tables et graphiques
Matrices en tant que tables
Listes liées en tant que tables
Tampon de chaine de caractères

Les métatables en pratique

Les proxy
La lecture seule
La mémoïsation pour optimiser le code
Programmation dynamique avec la mémoïsation
L’exemple de Fibonacci

Environnements

Relation entre les variables globales et l’environnement
Variable libre
Les tables _ENV et _G

Modules avancés

Différentes approches pour créer des modules
Modules modifiant le comportement
Initialisation de modules et arguments
Utilisation des environnements pour la mise en place de modules sécurisés

Itérateurs avancés et coroutines

Producteur, consommateur et filtre
Wrapping de co-routines et itérateurs
Itérateur sans état et listes liées

Paradigme fonctionnel

La fonction map
La fonction reduce/fold

Programmation orientée objet

Différentes approches
Notion d’héritage
Exemples pratiques

Compilation de bibliothèques standards

Compilation
Evaluation
Relation avec l’environnement
Blocs binaires

Le ramasse-miettes

Tables faibles
Finaliseurs
La méta-méthoe _gc

Bytecode en Lua et machines virtuelles

Génération de bytecode à partir du code source
Lecture et analyse de bytecode
Code source de la VM de Lua

Modules en C

Appel de C vers Lua
Recherche de chemin
Chargement de modules en C

Appels de Lua vers C

Le Stack
Gestion d’erreurs
Continuations

Gestion de types et valeurs Lua à partir de C

Tableaux
Chaînes
Userdata
Méta-tables
Appels orientés objets

Gestion de la mémoire

Les allocateurs
L’API C

Threads en Lua

Co-routines ou threads ?
Multi-threading et états

Nos autres formations Langage de script

AF15770Formation Lua en Intra/Cours Particulier4 joursNous consulter
AF2995Formation Script pour windows 15 sessions prévues5 jours2450 €HT
AF2838Formation Powershell 15 sessions prévues5 jours2450 €HT
AF1997Formation Ateliers de génie logiciels 15 sessions prévues1 jour980 €HT
AF1752Formation ActionScript 16 sessions prévues3 jours1470 €HT
Voir les 6 formations
Vous pouvez également être intéressé par des formations C#, Langage de script, Lua, Open Source, scripts ou par les formations de notre filière Langage de script
Prixà partir de
Nous consulter
RéférenceAF15770
Durée4 jours
Public Développeurs
PrérequisExpérience préalable en programmation, connaissance d’un langage de script.
Éditeurs Open Source
Travaux pratiques50%