将io库与LuaEdit一起使用

时间:2012-03-05 09:29:35

标签: lua

我知道这是一个非常基本的问题,但我已经在互联网上搜索了几天,但我仍然找不到答案。我刚刚开始学习Lua,我将编写一个基于文本的冒险游戏。我正在使用LuaEdit来编辑我的Lua代码但是我不能使用io命令。在Lua命令行上,如果我键入io.read()但它在编辑器上不起作用。在搜索互联网后,我找不到如何导入库。

4 个答案:

答案 0 :(得分:4)

可能是LuaEdit没有使用I / O库进行编译。您可以使用

之类的内容进行检查
if(type(io) ~= "table") then
    print("I/O not available :(");
else
    print("We have I/O!");
end

如果默认不存在,您可以尝试通过模块系统手动加载

local io = require("io");

但最终由编译成LuaEdit的解释器决定是否有效。

答案 1 :(得分:1)

默认情况下不需要导入库。您的环境可能已将其禁用 - 但无论哪种方式,都会看到当您尝试使用io时发生的错误消息。*并且您知道您的编辑器会有所帮助。

答案 2 :(得分:0)

我是创建者,目前只是LuaEdit的开发者,我可以向你确认io.read()目前还没有在LuaEdit中模拟。我还在Windows 7和Vista下尝试了以下lua代码,从LuaEdit运行时它没有任何问题:

if(type(io) ~= "table") then
    print("I/O not available :(");
else
    print("We have I/O!");
end

file = io.open("c:\\test.txt", "w")
file:write("We have IO writing to disk!")
file:close()

我希望这有帮助!

答案 3 :(得分:0)

我相信os.read()是您正在寻找的功能,而不是io.read()

如果您使用Tekkit(一个Minecraft mod)等游戏在Lua中编码,那么您将io.read(),因为这是他们在那里提供的API。

但是,从命令行使用Lua时,必须使用其他API,即os包中的函数。