Formation Lua Fundamentals

Code formation

luafun

Durée

14 heures (généralement 2 jours pauses comprises)

Pré requis

Familiarity with at least one other programming language. Programming experience. Optionally if you have familiarity with other scripting languages, that will make it easier to understand Lua.

Aperçu

Lua est un langage de script facile à utiliser utilisé comme plugin / langage d'extension intégré dans différents produits. Par exemple, il s’agit du langage de script intégré d’applications réseau, telles que nmap et wireshark, et peut également être trouvé comme langage de script dans World of Warcraft, Orbiter et d’autres jeux.

Lua peut également être utilisé en tant que langue autonome. C'est un langage de programmation léger, multi-paradigmes. Le cours enseigne donc divers concepts que les étudiants trouveront utiles dans d'autres domaines du génie logiciel.

Ce cours couvre les concepts de base de la programmation en Lua et comprend de nombreux exercices de programmation permettant aux nouveaux arrivants de maîtriser la langue à partir de zéro.

Une fois le cours terminé, les étudiants seront en mesure d’écrire des programmes Lua autonomes de taille moyenne et des logiciels de script dans lesquels Lua est la langue intégrée.

Machine Translated

Plan du cours

Introduction to Lua

  • A bit of history
  • Lua's goals, features and non-goals
  • Resources of Lua documentation and tutorials
  • Installing the Lua interpreter
  • Setting up and using LuaRocks

Basic syntax and semantics

  • Identifiers
  • Comments, block comments
  • Global variables and enforcing of strictness
  • Local variables
  • Standalone programs, program arguments
  • Compilation units, chunks, expressions, semicolons

Data types and data structures

  • Basic types: nil, boolean, number, string
  • Object types: function, userdata, thread, table
  • References/objects vs. basic values
  • The importance of tables in Lua

Introduction to tables and their versatility

  • Tables as an associative array
  • Tables as numeric arrays, sequences

Basic control structures

  • The if then elseif else end
  • The while loop
  • The repeat loop
  • The simple for loop

Error handling

  • Return values vs exceptions
  • Converting a return value to an exception
  • Converting an exception to a return value
  • Error levels

Example programs

  • Polynomial evaluation
  • Breadth first search
  • Additional exercises

More about functions

  • Named arguments
  • Object-oriented calls
  • Closures
  • Currying
  • Tail calls
  • Multiple assignment and return
  • Varargs

Iterators and co-routines

  • The generic for loop
  • Stateless vs stateful iterators
  • Differences between iterators and co-routines

Metatables and metamethods

  • The set example
  • The __tostring metamethod
  • Arithmetic metamethods
  • The __index, __newindex metamethods
  • The __len metamethod

Modules and packages

  • Using modules
  • Creating modules
  • Organizing modules into packages

Object-oriented programming

  • The building blocks of OOP in Lua
  • Examples

Discussion on more advanced language features

  • Weak tables
  • Finalizers
  • Compilation, eval, loading

Nos Clients témoignent

★★★★★
★★★★★

Catégories Similaires

Cours Similaires

Réduction spéciale

Newsletter offres spéciales

Nous respectons le caractère privé de votre adresse mail. Nous ne divulguerons ni ne vendrons votre adresse email à quiconque
Vous pouvez toujours modifier vos préférences ou vous désinscrire complètement.

Nos clients

is growing fast!

We are looking for a good mixture of IT and soft skills in France!

As a NobleProg Trainer you will be responsible for:

  • delivering training and consultancy Worldwide
  • preparing training materials
  • creating new courses outlines
  • delivering consultancy
  • quality management

At the moment we are focusing on the following areas:

  • Statistic, Forecasting, Big Data Analysis, Data Mining, Evolution Alogrithm, Natural Language Processing, Machine Learning (recommender system, neural networks .etc...)
  • SOA, BPM, BPMN
  • Hibernate/Spring, Scala, Spark, jBPM, Drools
  • R, Python
  • Mobile Development (iOS, Android)
  • LAMP, Drupal, Mediawiki, Symfony, MEAN, jQuery
  • You need to have patience and ability to explain to non-technical people

To apply, please create your trainer-profile by going to the link below:

Apply now!

This site in other countries/regions