Lua functions can choose fallback values when a parameter is nil.

fallback value Use `or` when a missing argument should become a simple default.

Default Fallback

count
default_fallback.lua
Replay: real traced execution (multi-file project)
local count = 2

local function repeat_label(label, times)
  local actual = times or 1
  return label .. ":" .. actual
end

local result = repeat_label("task", count)

print("count=" .. count)
print("result=" .. result)
local count = 0

local function repeat_label(label, times)
  local actual = times or 1
  return label .. ":" .. actual
end

local result = repeat_label("task", count)

print("count=" .. count)
print("result=" .. result)
local count = 5

local function repeat_label(label, times)
  local actual = times or 1
  return label .. ":" .. actual
end

local result = repeat_label("task", count)

print("count=" .. count)
print("result=" .. result)
  1. count ← 2

    1local count→ 2 = 2 --@count=0, 523local function repeat_label(label, times)4  local actual = times or 15  return label .. ":" .. actual6end78local result = repeat_label("task", count2)
  2. result ← task:2

    8local result→ task:2 = repeat_label("task", count2)910print("count=" .. count2)11print("result=" .. resulttask:2)
    outputcount=2
    result=task:2
  1. count ← 0

    1local count→ 0 = 023local function repeat_label(label, times)4  local actual = times or 15  return label .. ":" .. actual6end78local result = repeat_label("task", count0)
  2. result ← task:0

    8local result→ task:0 = repeat_label("task", count0)910print("count=" .. count0)11print("result=" .. resulttask:0)
    outputcount=0
    result=task:0
  1. count ← 5

    1local count→ 5 = 523local function repeat_label(label, times)4  local actual = times or 15  return label .. ":" .. actual6end78local result = repeat_label("task", count5)
  2. result ← task:5

    8local result→ task:5 = repeat_label("task", count5)910print("count=" .. count5)11print("result=" .. resulttask:5)
    outputcount=5
    result=task:5