0

我已经使用以下命令安装了 LuaFileSystem:luarocks install luafilesystem。现在我想在我的脚本中使用它,但我收到了这个错误:

[splay.sandbox] W: 要求 lfs 被拒绝 10:34:11.65 (6) [splay.events] E: thread: 0x93f0b20 DIE (error: [string "job code"]:35: 尝试索引本地 'lfs' (一个零值))10:34:11.65(6)[splay.events] E:堆栈回溯:10:3​​4:11.65(6)[字符串“工作代码”]:35:在函数'getHomeDirectory'中10:34 :11.65 (6) [string "job code"]:79: 在函数 <[string "job code"]:76>

我试图将它声明为全局:lfs = require"lfs",或者只需要"lfs",甚至在函数中是局部的:

function getHomeDirectory(position)
    local lfs = require"lfs"

    print(lfs.currentdir())
end

但我仍然得到那个错误。我还需要做些什么才能让它发挥作用?

稍后编辑:尝试使用 io 打开文件时出现“零值”相同的错误:

local f = io.open('/home/alex/Desktop/SPLAY WORK/splay_client_commands_1.4/test1.txt', "r")

[splay.events] E:线程:0x955f4c0 DIE(错误:[字符串“作业代码”]:120:尝试索引本地'f'(一个零值))

可能是什么问题呢?

4

1 回答 1

2

io.open 调用可以通过添加来轻松调试assert。当 io.open 无法打开文件时,这将打印错误消息:

local f = assert(io.open('/home/alex/Desktop/SPLAY WORK/splay_client_commands_1.4/test1.txt', "r"))

这个“技巧”也描述在: http ://www.lua.org/pil/21.2.html

于 2013-06-09T19:59:19.773 回答