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.
Track mentors

3 Mentors

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

493 Students

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

80 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

Exercism is a great website

Exercism is a great website where I was able to have some very interesting challenges.

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.

Avatar of Nick Park

Nick Park https://github.com/nicksypark

I believe Lua is good for the programmer's soul.
Avatar of Robert Curtin

Robert Curtin https://github.com/robertecurtin

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

Ryan Hartlage https://github.com/ryanplusplus

Lua perfectly embodies the philosophy of 'less is more'. I am smitten.
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.

Variable Length Quantity
medium
arrays
bitwise operations
control flow if else statements
control flow loops
Prime Factors
medium
control flow if else statements
control flow loops
math
Grade School
medium
classes
control flow if else statements
Nucleotide Count
easy
control flow loops
exception handling
strings
Custom Set
medium
classes
control flow if else statements
control flow loops
sets
Pig Latin
medium
control flow if else statements
control flow loops
strings
text formatting
Passionate. Knowledgeable. Creative.

Meet the Lua Track maintainers

The Lua Maintainers are the brains behind the Lua Track. They spend their spare time creating interesting and challenging exercises that we can all learn from. We are incredibly grateful for their hard work. Here are the bios of a few of the maintainers of this track.

Avatar of Ryan Hartlage

Ryan Hartlage

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

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

Join the Lua Track