11

我想尝试在 Lua 中加载一个包。该软件包现在ansicolors并且只是为了具有更好看的控制台输出。

这是糖,我不希望用户被迫安装这个包。

所以我尝试了类似的东西:

ansicolors = require 'ansicolors' or nil

但正如我所想,它引发了一个未找到模块的错误并停止执行。

所以我的问题是:是否有一个优雅的解决方案来尝试加载包并在不可能时回退到更简单的解决方案?

4

1 回答 1

21
local status, module = pcall(require, 'ansicolors')
ansicolors = status and module or nil
于 2013-03-01T09:57:18.730 回答