lua - 在lua下,如果只有安装了LuaFileSystem包,我怎么能检查文件属性

标签 lua luafilesystem

我有一些使用 LuaFileSystem 的代码。然而,并非所有运行它的系统都安装了 LuaFileSystem。我想检查它是否已安装,如果已安装则只运行代码。类似这样的事情(但这失败了并且声明 lfs 是一个空值)

local lfsExists, lfs = pcall(function () require "lfs" end)
if lfsExists then
    local lastUpdateTime = lfs.attributes( mapFilePName ).modification
end

最佳答案

那个 pcall 函数不返回任何值。删除 ,lfs

你也不需要匿名函数。

local lfsExists = pcall(require, "lfs")

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

local lfsExists, lfs = pcall(require, "lfs")

关于lua - 在lua下,如果只有安装了LuaFileSystem包,我怎么能检查文件属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28355307/

相关文章:

lua - 我可以将 `init.lua` 与 Hammerspoon 中的不同组件分开吗?

c - 在 C 中重新分配/调整 Lua 5.1 用户数据的大小

variables - 函数/变量作用域(按值传递还是引用传递?)

nginx - 记录由 nginx 的 Lua 模块设置的变量

c++ - 用于嵌入式脚本/文本处理引擎的 Python vs Lua

file - 在lua中创建一个临时文件

windows - 为 Windows 上的 Lua 构建 lua 文件系统