Get in Touch

Course Outline

Advanced tables

  • Tables for queues and stacks
  • Tables representing graphs
  • Matrices implemented as tables
  • Linked lists built using tables
  • String buffers

Metatables illustrated through examples

  • Proxies
  • Read-only tables
  • Memoisation
  • Dynamic programming with memoisation
  • The Fibonacci example

Environments

  • The 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 alter behaviour
  • Module initialisation and arguments
  • Using environments to implement safe modules

Advanced iterators and co-routines

  • Producer, consumer, and filter patterns
  • Wrapping co-routines to create iterators
  • Stateless iterators 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

Requirements

Basic knowledge of the Lua programming language

 14 Hours

Number of participants


Price per participant

Provisional Upcoming Courses (Require 5+ participants)

Related Categories