Advanced Lua Training Course

Course Code

luaadv

Duration

14 hours (usually 2 days including breaks)

Requirements

Basic knowledge of the Lua programming language

Overview

This is an advanced course on Lua, where basic knowledge of the programming language is already assumed. Therefore, this course gives the participant a more profound understanding of Lua internals and the "why" behind the used Lua idioms.

These advanced topics are demonstrated by plenty of examples and in-class exercises.

Course Outline

Advanced tables

  • Tables for queues and stacks
  • Tables describing graphs
  • Matrices as tables
  • Linked lists as tables
  • String buffers

Metatables through examples

  • Proxies
  • Readonly
  • Memoization
  • Dynamic programming with memoization
  • The Fibonacci example

Environments

  • Relationship between global variables and environments
  • Free variables
  • The _ENV table and the _G table

More about modules

  • Different approaches to creating modules
  • Modules that change the behavior
  • Module initialization and arguments
  • Using environments to implement safe modules

Advanced iterators and co-routines

  • Producer, consumer, filter
  • Wrapping co-routines to get iterators
  • Stateless iterator for linked lists

Contributing to the Ecosystem

  • Uploading packages to MoonRocks

Functional paradigm in Lua

  • The map function
  • The reduce / fold function

Object-oriented Programming

  • Different approaches to OOP
  • Different approaches to inheritance
  • Examples

A walkthrough of the Lua Standard Libraries

Testimonials

★★★★★
★★★★★

Bookings, Prices and Enquiries

Private Classroom

From 3600EUR

Private Remote

From 3000EUR (28)

Public Classroom

Location Date Course Price [Remote/Classroom]
Cannot find a suitable date? Choose Your Course Date >>Too expensive? Suggest your price

Course Discounts Newsletter

We respect the privacy of your email address. We will not pass on or sell your address to others.
You can always change your preferences or unsubscribe completely.

Some of our clients

is growing fast!

We are looking to expand our presence in your region!

As a Business Development Manager you will:

  • expand business in the region
  • recruit local talent (sales, agents, trainers, consultants)
  • recruit local trainers and consultants

We offer:

  • Artificial Intelligence and Big Data systems to support your local operation
  • high-tech automation
  • continuously upgraded course catalogue and content
  • good fun in international team

If you are interested in running a high-tech, high-quality training and consulting business.

contact us right away!