No way to make the value of an option optional
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 55/100
Direzione di ricerca
Inizia con la dichiarazione dell’opzione e le chiamate di parsing mostrate in optopt.lua, in particolare cli:option("-f, --foo=[VALUE]", ...) e cli:parse(_G.arg). Traccia come viene gestita un’opzione senza un valore fornito, quindi verifica che un flag omesso, un -f isolato e -f buz producano i tre risultati descritti nell’issue.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
In the 2.x series of releases it was possible to setup an option that had no value if not set, a default value if just the flag was added but no value given, and additionally a custom value if a value was passed. In 3.x this does not seem to be possible. Flags cannot take values and options always require a value. The default for options is only parsed in the event the option flag is not even passed.
As an example, I would like the value of a --foo=[VALUE] option to be optional with a default value if set, but allow the user to set (or not set) foo. If this is optopt.lua:
#!/usr/bin/env lua
local cli = require("cliargs")
cli:set_name("optopt")
cli:set_description("optional arg test")
cli:option("-f, --foo=[VALUE]", "foo val default to fiz", "fiz")
cli:flag("-h, --help", "display this help, then exit")
local opts, err = cli:parse(_G.arg)
if not opts and err then
print(err)
os.exit(1)
end
print("foo is", opts.foo)
What I get vs. what I expect:
# as expected
$ ./optopt.lua -f buz
foo is buz
# unexpected, no option should mean no value
$ ./optopt.lua
foo is fiz
# unexpected, setting the option should enable the default value if no value passed
$ ./optopt.lua -f
option -f requires a value to be set
- Lingua principale
- Lua
- Stelle
- 129
- Fork
- 26
- Merge medio
- 1h 41m
- PR unite (30g)
- 1
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di lunarmodules/lua_cliargs
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
lunarmodules/lua_cliargs#85 · 1 commento ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
lunarmodules/lua_cliargs#72 · 1 commento ·
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 48/100
lunarmodules/lua_cliargs#70 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
lunarmodules/lua_cliargs#68 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 45/100
lunarmodules/lua_cliargs#67 ·
Tutte le issue di lunarmodules/lua_cliargs
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
HenrikBengtsson/CBI-software#134 ·
-
Nmap
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
secondlife/slua#96 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100