Nel mio programma lua, voglio fermarmi e chiedere conferma all'utente prima di procedere con un'operazione. Non sono sicuro di come fermarmi e aspettare l'input dell'utente, come può essere fatto?Lua - ottieni input da riga di comando dall'utente?
risposta
Date un'occhiata alla biblioteca io
, che di default è standard input come il file di input di default:
local answer
repeat
io.write("continue with this operation (y/n)? ")
io.flush()
answer=io.read()
until answer=="y" or answer=="n"
Ho lavorato con codice come questo. Io digitare questo in un modo che funzionerà:
io.write("continue with this operation (y/n)?")
answer=io.read()
if answer=="y" then
--(put what you want it to do if you say y here)
elseif answer=="n" then
--(put what you want to happen if you say n)
end
io uso:
print("Continue (y/n)?")
re = io.read()
if re == "y" or "Y" then
(Insert stuff here)
elseif re == "n" or "N" then
print("Ok...")
end
tenta di utilizzare il codice folowing
m=io.read()
if m=="yes" then
(insert functions here)
end
print("Continue (y/n)?")
re = io.read()
if re == "y" or "Y" then
(Insert stuff here)
elseif re == "n" or "N" then
print("Ok...")
end
Dal bit di lua che ho fatto (non molto), sto per dire che usare lettere maiuscole e minuscole è ridondante se si usa string.sub.
print("Continue? (y/n)")
local re = io.read()
--[[Can you get string.sub from a local var?
If so, this works. I'm unfamiliar with io(game
lua uses GUI elements and keypresses in place of the CLI.]]
if re.sub == "y" then
--do stuff
if re.sub == "n" then
--do other stuff
end
Che dovrebbe funzionare.
're.sub' si risolverà nella funzione' string.sub' e sarà sempre diseguale in '" y "' o '" n "'. Inoltre, la corrispondenza delle stringhe è case sensitive. Nella migliore delle ipotesi puoi fare 're: match (" [nN] ")' e 're: match (" [yY] ")' –
- 1. interattive lua: argomenti della riga di comando
- 2. Input dalla riga di comando
- 3. Ottieni dimensione cartella da riga di comando di Windows
- 4. Parsing input da riga di comando per i numeri
- 5. PHP attendi input dalla riga di comando
- 6. I thread di supporto della riga di comando lua?
- 7. Riga di comando TFS 'Ottieni' non riuscita
- 8. Lua (riga di comando) rimangono aperti dopo l'esecuzione
- 9. Esegui comando vim da riga di comando
- 10. Come precompilare l'input da riga di comando
- 11. L'input da riga di comando causa SyntaxError
- 12. Esegui comando da riga di comando da NSIS
- 13. cmake - ottieni le bandiere della riga di comando usate "-D"
- 14. Ottieni riga di comando del compilatore C++ completo
- 15. Ottieni dimensioni scheda tramite la riga di comando
- 16. eseguire un'applicazione da riga di comando interattiva da java
- 17. Ottieni la versione di TCL dalla riga di comando?
- 18. Ottieni una configurazione di filato dalla riga di comando
- 19. Conversione da riga di comando a immagine da riga di comando
- 20. Spostamento di file da riga di comando
- 21. Programmazione da riga di comando di Inkscape
- 22. parser da riga di comando per Qt4
- 23. C ingresso password da riga di comando
- 24. Apertura Chrome da riga di comando
- 25. Compilatore da riga di comando per XTend
- 26. Argomento da riga di comando personalizzato Emacs
- 27. ESlint Errore Installazione da riga di comando
- 28. riga di comando svn da eclissi
- 29. Esegui riga di comando e comando da VBS
- 30. Stampa Lua sulla stessa riga
impressionante, grazie –
'io.read()' impone automatico 'io.flush()' quando si lavora con default stdin/out? –
@EgorSkriptunoff, potrebbe, ma non possiamo esserne sicuri. Non credo che ANSI C ne dica nulla. – lhf