0

__parent在 2019 年 4 月之前,Lua 脚本可以使用字符串键、__class__propget和来反映 LuaBridge 类的方法和属性__propset。这是一个非常有用的工具,用于创建测试脚本和开发工具以维护导出到 Lua 中的大型类框架。

通过查看 LuaBridge 的发行说明,似乎出于安全原因删除了字符串键。但我发现自己更重视从脚本中反映类的能力,而不是脚本是否可以在对象模型中混杂。特别是在开发模式下。

LuaBridge参考手册暗示C/C++ 程序有一种方法可以公开元表,但我无法弄清楚如何去做。我对 C 和 Lua(或 LuaBridge)之间的接口非常陌生,所以我对我感到困惑并不感到惊讶。如果有人可以分享如何执行此操作的示例,我将不胜感激。

4

1 回答 1

0

由于似乎没有人提出好的建议,我意识到我可以自己反映属性、方法和常量的名称。出于我的目的,我真的不需要执行或访问它们。

因此,我没有在我的框架中的每个类中LuaBridge添加__class,__propget和static 属性,而不是在里面乱七八糟。这些__propset返回一个支持的表。简单的表具有作为键的名称和一个虚拟值。std::mapLuaBridge

我发现的一个警告是,在使用deriveClass. 如果您稍后尝试添加它们(使用beginClass),LuaBridge则抛出一个断言。

于 2021-10-19T15:22:37.490 回答