Проблемы с io.read() в wxLUA (не ждет ввода пользователя, всегда возвращает ноль)
Я только вхожу в Lua, и у меня возникают проблемы с пользовательским вводом. Независимо от того, что я делаю, io.read() всегда возвращает ноль.
Это то, что я пробовал, ничего не работает.
name = io.read()
print(name)
name = io.read(7)
print(name)
print(io.read:())
Все это просто напечатать ноль. Я думаю, что происходит name
установлен в io.read()
до того, как пользователь сможет ввести значение.
Это:
while not name do name = io.read()
print name
просто вызывает сбой программы из-за своего рода короткого замыкания, возможно, потому, что цикл завершается, и приложение обновляется в течение доли секунды.
Я использую среду wxLua для Windows, в диалоговой версии эти программы работают нормально, но вы, очевидно, не можете сделать так много с этим.
1 ответ
Я не уверен, почему вы пытаетесь io.read(7)
(как это будет читать 7 байт), но следующий скрипт работает для меня с wxlua (хотя я использую свою собственную скомпилированную библиотеку wxlua, которую вы можете получить здесь):
require('wx')
io.write("Enter something: ")
local value = io.read()
io.write(value, "\n")