Scite在Ubuntu系统中没有显示程序输出的弹窗。

我在 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

我知道这听起来很愚蠢,但是我如何得到弹出式的输出窗口要求用户输入?

点赞
用户2458544
用户2458544

io.read返回的nil可能是在读取期间发生错误的提示。您可以通过在io.read语句周围加assert来检查这一点:

local user_input = assert(io.read())

local user_input = assert(io.read("*number"))

我的初步猜测是您收到了一个_bad file descriptor_错误,因为标准输入(stdin)未设置。

更多信息可以在这里找到:

http://www.lua.org/pil/21.1.html

http://www.lua.org/pil/8.html

2013-08-06 13:13:17
用户2654526
用户2654526

使用Ubuntu终端运行程序是我最终让程序正确执行的方法。我只需要cd到程序所在目录,然后键入"lua。我没有得到整洁的弹出窗口,但是代码正确执行了。

2013-08-08 04:11:11