我正在为我的应用程序创建一个Lua API,以实现快速,数据驱动的设计和可修改性。它遵循此模块/子模块层次结构:
core
-> audio
-> network
-> video
-> etc.
库应该在每个子模块的文件中实现(以及顶级核心函数的文件),并且某些函数也可以在C中实现。
组织这个的最佳方法是什么?
答案 0 :(得分:0)
好吧,一种方法是将组件视为单独的库,然后将它们拉入Lua中的core
对象。将audio
,network
等实施为独立组件,并按照
core
-- core.lua
core = {
audio = require "audio",
network = require "network",
...
}
return core
这应该运行得很好,“模块再出口模式”是我在许多语言中看到的东西,所以我想它应该可以正常工作。
一般来说,混合C和Lua实现一个模块应该很容易google。