我刚进入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
只是导致程序在某种短路中崩溃,可能是因为循环完成,应用程序在几分之一秒内刷新。
我使用的是Windows的wxLua环境,在对话框版本中,这些程序运行得很好,但显然你不能用它做那么多。
我不知道你为什么要尝试io.read(7)
(因为这将读取7个字节),但以下脚本对我使用wxlua有效(尽管我使用自己编译的wxlua库,你可以在这里获得):
require('wx')
io.write("Enter something: ")
local value = io.read()
io.write(value, "n")