我在Ubuntu 12.04中通过scite运行lua脚本。当我执行io.read
程序时。
例如:(每个命令都在一个单独的行上)
io.write("Please enter a number: ")
user_input = io.read()
print(user_input)
当我执行程序时,我没有单独的弹出对话窗口询问用户输入。
在代码的右侧,我得到以下输出:
> lua5.1 "io_examples.lua"
Please enter a number: nil
我知道这可能听起来很愚蠢,但是如何让弹出输出窗口询问用户的输入?
答案 0 :(得分:0)
io.read
返回的nil可能暗示在阅读过程中发生了错误。您可以通过使用断言:
local user_input = assert(io.read())
或
local user_input = assert(io.read("*number"))
。
我最初的猜测是您收到了:错误的文件描述符,因为未设置标准输入(stdin
)。
可在此处找到更多信息:
答案 1 :(得分:0)
我最终如何正确执行程序是通过ubuntu终端运行它。我只需要cd到程序所在的目录,然后输入“lua”。 我没有得到整洁的弹出窗口,但代码执行正确。