试图在Ubuntu 10.04上使用LuaFileSystem

时间:2013-06-08 07:39:13

标签: lua ubuntu-10.04

我使用以下命令安装了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'(零值))

可能是什么问题?

1 个答案:

答案 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