Workspace

Lua

game scripting embedded automation and lightweight tools

Definition first

What Lua means

Lua is a programming language for writing exact instructions, often used for game scripting embedded automation and lightweight tools. Start with one mental model: input goes through steps and becomes output.

Minimum run factsFile main.luaRun lua main.luaHabit Keep tables simple and print state often while scripting
Program

An ordered set of instructions. It reads input, follows rules, and produces output.

Value and variable

A value is data. A variable is the name you use to hold and reuse that data.

Function

A named piece of work. It takes input, does one job, and can return a result.

Runtime

Lua is the place that actually runs code from main.lua.

First readable code

Program output

entry point output syntax print
print(42)
Output 42

Language lineage

Lua family tree

See where Lua comes from, which languages feel close, and what to learn next.

roots
CSchemeModula
currentLuaEmbedded scripting family
familyEmbedded scripting family
best used for

game scripting, embedded configuration, and small extension languages

Zero base path

1Read one rule2Predict output3Type from memory4Run checklist5Repeat with one change

Question bank

Search before practice

Pick a stage or search across the open programming bank. Jump straight to the matching drill.

18 matching questions
Q 1ChoiceStage 1 definitions

Lua practice 1

Lua question 1. Choose the statement that matches printing a value.

Q 2ChoiceStage 1 definitions

Lua practice 2

Lua question 2. Choose the statement that matches naming a value.

Q 3ChoiceStage 1 definitions

Lua practice 3

Lua question 3. Choose the statement that matches reusable function.

Q 4ChoiceStage 1 definitions

Lua practice 4

Lua question 4. Choose the statement that matches basic collection.

Q 5ChoiceStage 1 definitions

Lua practice 5

Lua question 5. Choose the statement that matches printing a value.

Q 6ChoiceStage 1 definitions

Lua practice 6

Lua question 6. Choose the statement that matches naming a value.

Q 7ChoiceStage 1 definitions

Lua practice 7

Lua question 7. Choose the statement that matches reusable function.

Q 8ChoiceStage 1 definitions

Lua practice 8

Lua question 8. Choose the statement that matches basic collection.

Q 9ChoiceStage 1 definitions

Lua practice 9

Lua question 9. Choose the statement that matches printing a value.

Q 10ChoiceStage 1 definitions

Lua practice 10

Lua question 10. Choose the statement that matches naming a value.

Q 11ChoiceStage 1 definitions

Lua practice 11

Lua question 11. Choose the statement that matches reusable function.

Q 12ChoiceStage 1 definitions

Lua practice 12

Lua question 12. Choose the statement that matches basic collection.

Q 13ChoiceStage 1 definitions

Lua practice 13

Lua question 13. Choose the statement that matches printing a value.

Q 14ChoiceStage 1 definitions

Lua practice 14

Lua question 14. Choose the statement that matches naming a value.

Q 15ChoiceStage 1 definitions

Lua practice 15

Lua question 15. Choose the statement that matches reusable function.

Q 16ChoiceStage 1 definitions

Lua practice 16

Lua question 16. Choose the statement that matches basic collection.

Q 17ChoiceStage 1 definitions

Lua practice 17

Lua question 17. Choose the statement that matches printing a value.

Q 18ChoiceStage 1 definitions

Lua practice 18

Lua question 18. Choose the statement that matches naming a value.

Multiple choice

Lua practice 1

Q 1Choicenew

Lua question 1. Choose the statement that matches printing a value.

print(42)

Reference

Patterns for main.lua

Lualua main.lua
Recall from memoryRead a small point then write it back without looking
Trace the codeWrite variable values line by line before you run the answer
Type it yourselfCopy less type more and fix one small error at a time

entry point output syntax print

Program output

print(42)
  • Run the smallest file first
  • Print one known value
  • Check the output before adding more code

variables assignment types local

Values and names

local total = 42
print(total)
  • Give values readable names
  • Keep one idea per line while learning
  • Trace the value before changing it

function collection Table

Functions and collections

function add(a, b)
  return a + b
end

local scores = {40, 2}
print(#scores)
  • Keep functions small
  • Return useful values
  • Use the common collection before reaching for frameworks