Start with a tiny Lua program that stores a name and prints a greeting.

print `print` writes a value so you can see what the program produced.

Hello Lua

name
hello.lua
Replay: real traced execution (multi-file project)
local name = "Lua"
local message = "Hello, " .. name .. "!"

print(message)
local name = "Ada"
local message = "Hello, " .. name .. "!"

print(message)
local name = "Roberto"
local message = "Hello, " .. name .. "!"

print(message)
  1. name ← Lua, message ← Hello, Lua!

    1local name→ Lua = "Lua" --@name="Ada", "Roberto"2local message→ Hello, Lua! = "Hello, " .. nameLua .. "!"34print(messageHello, Lua!)
    outputHello, Lua!
  1. name ← Ada, message ← Hello, Ada!

    1local name→ Ada = "Ada"2local message→ Hello, Ada! = "Hello, " .. nameAda .. "!"34print(messageHello, Ada!)
    outputHello, Ada!
  1. name ← Roberto, message ← Hello, Roberto!

    1local name→ Roberto = "Roberto"2local message→ Hello, Roberto! = "Hello, " .. nameRoberto .. "!"34print(messageHello, Roberto!)
    outputHello, Roberto!

What Happens

  1. name starts as "Lua".
  2. The message joins "Hello, ", name, and "!".
  3. message becomes Hello, Lua!.
  4. print(message) writes Hello, Lua!.

Value Map

| name | message | | --- | --- | | Lua | Hello, Lua! | | Ada | Hello, Ada! | | Roberto | Hello, Roberto! |

Try It

Exercise: hello.lua

Reproduce Hello, Lua!, then use the pinned names Ada and Roberto to predict each greeting.