wxLUA中的io.read()问题(不等待用户输入,Always返回nil)

时间:2015-03-04 21:48:23

标签: 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()

此:

 while not name do name = io.read()
 print name

只会导致程序在某种短路时崩溃,可能是因为循环完成且应用程序在几分之一秒内刷新。

我正在使用Windows的wxLua环境,在对话框版本中这些程序运行正常,但你显然无法做到这一点。

1 个答案:

答案 0 :(得分:1)

我不确定你为什么要尝试io.read(7)(因为这会读取7个字节),但是以下脚本适用于wxlua(尽管我使用自己编译的wxlua库,你可以获得{ {3}}):

require('wx')
io.write("Enter something: ")
local value = io.read()
io.write(value, "\n")