2

我刚刚进入 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 环境,在对话框版本中,这些程序运行良好,但你显然不能这样做。

4

1 回答 1

1

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

require('wx')
io.write("Enter something: ")
local value = io.read()
io.write(value, "\n")
于 2015-03-04T22:27:43.950 回答