wxLUA中io.read()存在问题(不等待用户输入,始终返回nil)

wxLUA中io.read()存在问题(不等待用户输入,始终返回nil),lua,user-input,wxlua,Lua,User Input,Wxlua,我刚刚进入Lua,我在用户输入方面遇到了问题。无论我做什么,io.read()总是返回nil 这是我尝试过的,没有任何效果 name = io.read() print(name) name = io.read(7) print(name) print(io.read:()) 所有这些都只是打印零。 我认为发生的情况是,在用户有机会实际输入值之前,将name设置为io.read() 这: 这只会导致程序在某种短路情况下崩溃,可能是因为循环完成,应用程序在几秒钟内刷新 我使用的是用于Wind

我刚刚进入Lua,我在用户输入方面遇到了问题。无论我做什么,io.read()总是返回nil

这是我尝试过的,没有任何效果

name = io.read()
print(name)

name = io.read(7)
print(name)

print(io.read:())
所有这些都只是打印零。 我认为发生的情况是,在用户有机会实际输入值之前,将
name
设置为
io.read()

这:

这只会导致程序在某种短路情况下崩溃,可能是因为循环完成,应用程序在几秒钟内刷新


我使用的是用于Windows的wxLua环境,在对话版本中,这些程序运行良好,但您显然无法做到这一点。

我不知道您为什么要尝试
io.read(7)
(因为这将读取7个字节),但以下脚本适用于我的wxLua(尽管我使用我自己编译的wxLua库,您可以获得):

 while not name do name = io.read()
 print name
require('wx')
io.write("Enter something: ")
local value = io.read()
io.write(value, "\n")