我使用以下命令安装了LuaFileSystem:luarocks install luafilesystem。现在我想在我的脚本中使用它,但是我收到了这个错误:
[splay.sandbox] W:要求拒绝lfs 10:34:11.65(6)[splay.events] E:thread:0x93f0b20 DIE(错误:[string“job code”]:35:尝试索引本地'lfs'(零值)) 10:34:11.65(6)[splay.events] E:堆栈追溯: 10:34:11.65(6)[string“job code”]:35:在函数'getHomeDirectory'中 10:34:11.65(6)[string“job code”]:79:in function< [string“job code”]:76>
我试图将其声明为全局:lfs = require“lfs”,或者只需要“lfs”,甚至是函数中的本地:
function getHomeDirectory(position)
local lfs = require"lfs"
print(lfs.currentdir())
end
但我仍然得到了这个错误。我还需要做些什么才能让它发挥作用?
LATER EDIT:尝试使用io打开文件时得到的“零值”相同的错误:
local f = io.open('/home/alex/Desktop/SPLAY WORK/splay_client_commands_1.4/test1.txt', "r")
[splay.events] E:thread:0x955f4c0 DIE(错误:[string“job code”]:120:尝试索引本地'f'(零值))
可能是什么问题?
答案 0 :(得分:2)
可以通过在其周围添加assert
来轻松调试io.open调用。当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