Get in Touch

Course Outline

Advanced tables

  • Using tables for queues and stacks
  • Representing graphs with tables
  • Implementing matrices as tables
  • Linked lists implemented via tables
  • String buffers

Metatables demonstrated through examples

  • Proxies
  • Readonly patterns
  • Memoization techniques
  • Dynamic programming using memoization
  • The Fibonacci sequence example

Environments

  • The relationship between global variables and environments
  • Free variables
  • The _ENV and _G tables

Further insights into modules

  • Various approaches to creating modules
  • Modules that alter behavior
  • Module initialization and argument handling
  • Utilizing environments to create safe modules

Advanced iterators and co-routines

  • Producer, consumer, and filter patterns
  • Wrapping co-routines to generate iterators
  • Stateless iterators for linked lists

Contributing to the ecosystem

  • Uploading packages to MoonRocks

The functional paradigm in Lua

  • The map function
  • The reduce/fold function

Object-oriented Programming

  • Diverse approaches to OOP
  • Diverse approaches to inheritance
  • Practical examples

A walkthrough of the Lua Standard Libraries

Requirements

Fundamental knowledge of the Lua programming language

 14 Hours

Related Categories