Lua 有类似于头文件的东西吗?

Does Lua have something analogous to a header file?

假设我有一个名为 foo() 的全局函数,我在 Lua 外部实现了它并向用户公开。理想情况下,我希望用户的 IDE 了解此功能,例如自动完成功能。想到的最接近的东西是 C/C++ 的头文件,其中声明了函数但未定义。

Lua对此有任何支持吗?

在 Lua 中没有交叉 IDE 机制。

无法在 Lua 中声明函数原型。您只能定义函数值。因此,除非您不提供您的函数作为 Lua 代码,否则 IDE 将无法解析它们以进行自动完成。因此,您必须为 API.

提供 IDE 特定的自动完成文件

大多数 Lua 开发可能都是在简单的文本编辑器中完成的。

为您的 API 提供良好的文档,任何使用它的 Lua 开发人员都会很高兴。

正如 Piglet 提到的,Lua 没有适用于所有 IDE 的现成解决方案。但是,我发现了 Lua 的类型变体,称为 Teal which has support for declaration files。 Teal 似乎与 Typescript 非常相似。