Ske*_*een 3 lua require awesome-wm luafilesystem
我目前awesome在运行不同发行版的各种Linux机器上使用窗口管理器.所有机器都使用same(lua)配置文件.
一些机器安装了lua-filesystem(lfs),而其他机器则没有.我的配置最好使用lfs,但如果没有安装,我想提供一个替代(次优)回退例程.
这是我的所有问题的简单问题:
require(lfs)语句引发的错误?require不是一个神奇的功能.它就像Lua中的任何其他功能一样.它使用Lua的标准错误信令工具发出错误信号.
因此,从发现错误require 究竟喜欢你在Lua做任何其他的功能.也就是说,你把它包装成pcall:
local status, lfs = pcall(require, "lfs")
if(status) then
    --lfs exists, so use it.
end
实际上,您可以创建自己的prequire函数来加载任何东西:
function prequire(...)
    local status, lib = pcall(require, ...)
    if(status) then return lib end
    --Library failed to load, so perhaps return `nil` or something?
    return nil
end
local lfs = prequire("lfs")
if(lfs) then
    --use lfs.
end