Lua

Join the Lua Track
Lua is a lightweight scripting language, designed for use within programs. It's popular in gaming, and is a general-purpose language, which can provide a familiar syntax across different applications.

3 Mentors

Our mentors are friendly, experienced Lua developers who will help teach you new techniques and tricks.

398 Students

Join hundreds of students who have enjoyed learning and improving their skills by taking this track.

81 Exercises

Hundreds of hours have gone into making these exercises fun, useful, and challenging to help you enjoy learning.

About Lua

Lua (pronounced LOO-ah, which means Moon in Portuguese) is a simple yet powerful, lightweight, fast, portable and embeddable scripting language. It is designed, implemented, and maintained by a team at PUC-Rio and is housed at LabLua.

Lua supports procedural, object-oriented, functional, data-driven programming and data description. It combines simple procedural syntax with powerful data description constructs based on associative arrays and extensible semantics. Lua is dynamically typed, runs by interpreting bytecode with a register-based virtual machine and has automatic memory management with incremental garbage collection, making it ideal for configuration, scripting and rapid prototyping.

Lua has been used in many industrial applications with an emphasis on embedded systems and games.

The home page for Lua is Lua.org. Enjoy!

(Taken from https://www.lua.org/about.html)

Join the Lua track
local hello_world = {}

function hello_world.hello()
  return 'Hello, World!'
end

return hello_world

A tremendous learning opportunity to explore the depth of your own knowledge

Exercism is fantastic in learning new languages but that is not the extent of it. If you are a "more experienced" programmer you may have encountered impostor syndrome: the idea you don't really know what you think you know. Exercism lets you solve problems and put them in the space of open feedback which is a tremendous learning opportunity to explore the depth of your own knowledge. Even if you have been programming in a language for awhile it is worth checking into Exercism to see where you stand with current implementation practices.

Relaxed. Encouraging. Supportive.

Meet the Lua Track Mentors

Once you join the Lua language track, you will receive support and feedback from our team of mentors. Here are the bios of a few of the mentors of this track.

Ryan Hartlage https://github.com/ryanplusplus

Lua perfectly embodies the philosophy of 'less is more'. I am smitten.

Robert Curtin https://github.com/robertecurtin

Lua is an elegent and practical language. I hope I can help you enjoy it!

Nick Park https://github.com/nicksypark

I believe Lua is good for the programmer's soul.
Fun. Challenging. Interesting

Community-sourced Lua Exercises

These are a few of the 80 exercises on the Lua track. You can see all the exercises here.

Kindergarten Garden
medium
medium
control flow if else statements
control flow loops
strings
Leap
medium
easy
control flow if else statements
logic
Nth Prime
medium
medium
control flow if else statements
control flow loops
exception handling
mathematics
Pov
medium
hard
algorithms
control flow if else statements
control flow loops
exception handling
graphs
Circular Buffer
medium
medium
classes
control flow if else statements
exception handling
Sublist
medium
medium
arrays
control flow if else statements
control flow loops

Get started with the Lua track. As with everything on Exercism, it's 100% free!

Join the Lua Track