Command-Line Arguments
Flag Parse
Interpret a flag argument as a mode.
parse flag
A flag changes behavior without needing a separate value.
Flag Parse
flag_parse.lua
Replay: real traced execution (multi-file project)
local flag = "--verbose"
local mode = "normal"
if flag == "--verbose" then
mode = "verbose"
end
if flag == "--quiet" then
mode = "quiet"
end
print("flag=" .. flag)
print("mode=" .. mode)
local flag = "--quiet"
local mode = "normal"
if flag == "--verbose" then
mode = "verbose"
end
if flag == "--quiet" then
mode = "quiet"
end
print("flag=" .. flag)
print("mode=" .. mode)
local flag = ""
local mode = "normal"
if flag == "--verbose" then
mode = "verbose"
end
if flag == "--quiet" then
mode = "quiet"
end
print("flag=" .. flag)
print("mode=" .. mode)
flag ← --verbose, mode ← normal
1local flag→ --verbose = "--verbose" --@flag="--quiet", ""2local mode→ normal = "normal"3if flag == "--verbose" thenmode ← verbose
2local mode = "normal"3if flag--verbose == "--verbose" then4 mode→ verbose = "verbose"5endprint("flag=" .. flag)
8end9print("flag=" .. flag--verbose)10print("mode=" .. modeverbose)outputflag=--verbose mode=verbose
flag ← --quiet, mode ← normal
1local flag→ --quiet = "--quiet"2local mode→ normal = "normal"3if flag == "--verbose" thenmode ← quiet
5end6if flag--quiet == "--quiet" then7 mode→ quiet = "quiet"8endprint("flag=" .. flag)
8end9print("flag=" .. flag--quiet)10print("mode=" .. modequiet)outputflag=--quiet mode=quiet
flag ← (empty), mode ← normal
1local flag→ (empty) = ""2local mode→ normal = "normal"3if flag == "--verbose" then4 mode = "verbose"5end6if flag == "--quiet" then7 mode = "quiet"8end9print("flag=" .. flag(empty))10print("mode=" .. modenormal)outputflag= mode=normal