В моей программе lua я хочу остановить и попросить пользователя подтвердить, прежде чем приступать к операции. Я не уверен, как остановить и ждать ввода пользователя, как это можно сделать?Lua - получить ввод командной строки от пользователя?
ответ
Посмотрите на io
библиотеке, которая по умолчанию имеет стандартный ввод-как входной файл по умолчанию:
local answer
repeat
io.write("continue with this operation (y/n)? ")
io.flush()
answer=io.read()
until answer=="y" or answer=="n"
Я работал с кодом, как это. Я печатаю это так, он будет работать:
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
Я использую:
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
пытаются использовать ниже код
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
От немного lua, что я сделал (не много), я собираюсь сказать, что использование как прописных, так и строчных букв избыточно, если вы используете 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
Это должно сработать.
're.sub' будет разрешать функцию' string.sub' & всегда быть неравной к '' y "или' "n" '. Кроме того, соответствие строк чувствительно к регистру. В лучшем случае вы можете выполнить 're: match (" [nN] ")' и 're: match (" [yY] ")' –
- 1. Получить пользовательский ввод от инструмента командной строки Swift 3
- 2. Lua: функции и ввод пользователя?
- 3. Ввод строки командной строки Python
- 4. Ввод командной строки неправильно
- 5. Пользовательский ввод для командной строки?
- 6. имитируя ввод обычного пользователя в C++ с аргументами командной строки
- 7. интерактивные Lua: аргументы командной строки
- 8. Shell scripting - ввод 4 строки от пользователя
- 9. командной строки oauth2 authoritation получить разрешение от пользователя
- 10. Как создать новое окно командной строки и перенаправить ввод пользователя?
- 11. Как получить ввод от пользователя для таймера
- 12. C-получить конкретный ввод от пользователя
- 13. Запросить ввод от пользователя в Octave
- 14. Получить переменные среды пользователя из командной строки
- 15. Ввод командной строки в файл
- 16. Ввод аргументов командной строки MIPS
- 17. Ввод командной строки в C
- 18. Как заполнить ввод командной строки
- 19. eclipse cdt ввод командной строки
- 20. Аргумент командной строки, такой как ввод пользователя в C++
- 21. как имитировать ввод данных пользователя в окнах командной строки
- 22. принимающий ввод от пользователя
- 23. Python - ввод от пользователя
- 24. ввод от пользователя
- 25. Подтвердить ввод от пользователя
- 26. Неполный ввод от пользователя
- 27. Как отлаживать ввод командной строки в WebStorm
- 28. lua переменное имя от пользователя
- 29. Lua os.execute с аргументами командной строки
- 30. Рубин - Получить пользовательский ввод вне командной строки с помощью Ocra
awesome, спасибо –
Выполняет ли 'io.read()' автоматическое 'io.flush()' при работе со стандартным stdin/out? –
@EgorSkriptunoff, возможно, но мы не можем быть уверены. Я не думаю, что ANSI C говорит об этом. – lhf