Commandoregelargumenten lezen

Lua:
Commandoregelargumenten lezen

Hoe:

Hier is de kern van het grijpen van die argumenten in Lua:

-- Sla dit op als 'greet.lua'
local name = arg[1] -- arg[1] is het eerste commandoregelargument
print("Hallo, " .. (name or "vreemdeling") .. "!")

Start de terminal en run het:

$ lua greet.lua LuaLearner
Hallo, LuaLearner!

Geen naam? Geen probleem:

$ lua greet.lua
Hallo, vreemdeling!

Diepgaand

Lua houdt het eenvoudig met de globale arg tabel. Historisch gezien lezen mensen al commandoregelargumenten in programmering sinds het begin der tijden (nou ja, sinds de geboorte van UNIX, in ieder geval). Het is een basis van aanpassing.

In Lua is arg een array met alle commandoregelheerlijkheden. arg[0] is de scriptnaam, en vanaf arg[1] zijn het de daadwerkelijke argumenten. Je kunt ze allemaal oppakken met een lus als je je chique voelt:

for i = 1, #arg do
  print("Argument " .. i .. ": " .. arg[i])
end

Alternatieven? Zeker, er zijn bibliotheken voor gesofisticeerde argumentenanalyse (zoals Penlight), maar in veel gevallen doet arg de truc zonder gedoe.

Wat implementatiedetails betreft, onthoud dat Lua’s arrays gebaseerd zijn op 1 (ze beginnen te tellen bij 1), niet 0 zoals veel andere talen. Dat is waarom arg[1] het eerste argument is en niet arg[0].

Zie Ook

Voor degenen die meer willen, hier is wat extra voedsel voor gedachten: