Treat a file name as a positional argument.

positional args Positional arguments get their meaning from order rather than from flag names.

Positional Args

file
positional_args.lua
Replay: real traced execution (multi-file project)
local file = "main.lua"
local extension = file:match("%.([^.]+)$") or ""
local kind = "other"
if extension == "lua" then
  kind = "script"
end
print("file=" .. file)
print("extension=" .. extension)
print("kind=" .. kind)
local file = "test.lua"
local extension = file:match("%.([^.]+)$") or ""
local kind = "other"
if extension == "lua" then
  kind = "script"
end
print("file=" .. file)
print("extension=" .. extension)
print("kind=" .. kind)
local file = "demo.txt"
local extension = file:match("%.([^.]+)$") or ""
local kind = "other"
if extension == "lua" then
  kind = "script"
end
print("file=" .. file)
print("extension=" .. extension)
print("kind=" .. kind)
  1. file ← main.lua, extension ← lua, kind ← other

    1local file→ main.lua = "main.lua" --@file="test.lua", "demo.txt"2local extension→ lua = filemain.lua:match("%.([^.]+)$") or ""3local kind→ other = "other"4if extension == "lua" then
  2. kind ← script

    3local kind = "other"4if extensionlua == "lua" then5  kind→ script = "script"6end
  3. print("file=" .. file)

    6end7print("file=" .. filemain.lua)8print("extension=" .. extensionlua)9print("kind=" .. kindscript)
    outputfile=main.lua
    extension=lua
    kind=script
  1. file ← test.lua, extension ← lua, kind ← other

    1local file→ test.lua = "test.lua"2local extension→ lua = filetest.lua:match("%.([^.]+)$") or ""3local kind→ other = "other"4if extension == "lua" then
  2. kind ← script

    3local kind = "other"4if extensionlua == "lua" then5  kind→ script = "script"6end
  3. print("file=" .. file)

    6end7print("file=" .. filetest.lua)8print("extension=" .. extensionlua)9print("kind=" .. kindscript)
    outputfile=test.lua
    extension=lua
    kind=script
  1. file ← demo.txt, extension ← txt, kind ← other

    1local file→ demo.txt = "demo.txt"2local extension→ txt = filedemo.txt:match("%.([^.]+)$") or ""3local kind→ other = "other"4if extension == "lua" then5  kind = "script"6end7print("file=" .. filedemo.txt)8print("extension=" .. extensiontxt)9print("kind=" .. kindother)
    outputfile=demo.txt
    extension=txt
    kind=other