在Lua中,如果LuaFileSystem软件包已安装,如何检查文件属性?

我有一些使用 LuaFileSystem 的代码。但是并非所有运行该代码的系统都安装了 LuaFileSystem。我想检查它是否已安装,并且只在它已安装的情况下运行代码。类似这样的操作(但这会失败并声明 lfs 是一个空值):

local lfsExists, lfs = pcall(function () require "lfs" end)
if lfsExists then
    local lastUpdateTime = lfs.attributes( mapFilePName ).modification
end
点赞
用户258523
用户258523

那个使用了 pcall 的函数不返回任何值。去掉 , lfs

而且你不需要匿名函数。

local lfsExists = pcall(require, "lfs")

或者使用 require 的返回值,而不是(隐式的)全局变量。

local lfsExists, lfs = pcall(require, "lfs")
2015-02-05 22:42:51