Lua - получить ввод командной строки от пользователя?
-
06-07-2019 - |
Вопрос
В моей программе 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 "
(вставьте сюда функции)
<Код> конец код>
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
Из того, что я сделал (немного), я скажу, что использование строчных и прописных букв излишне, если вы используете 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
Это должно сработать.
Не связан с StackOverflow