首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Lua脚本反射LuaBridge类

从Lua脚本反射LuaBridge类
EN

Stack Overflow用户
提问于 2021-10-14 13:44:16
回答 1查看 117关注 0票数 0

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

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

LuaBridge参考手册暗示有一种让C/C++程序公开元数据的方法,但是我还没有弄清楚如何做到这一点。我对C和Lua (或LuaBridge)之间的接口非常陌生,所以我对自己感到困惑并不感到惊讶。如果有人能分享一个如何做到这一点的例子,我将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-19 15:22:37

由于似乎没有人有好的建议,我意识到我可以对属性、方法和常量的名称进行自己的反射。就我的目的而言,我实际上不需要执行或访问它们。

因此,我在框架中的每个类中都添加了__class__propget__propset静态属性,而不是在__class内部乱搞。它们返回一个用std::map实现的表,LuaBridge支持该表。表简单地以名称作为键和虚拟值。

我发现的一个警告是,在使用deriveClass创建派生类时,必须向派生类添加静态属性。如果以后尝试添加它们(使用beginClass),LuaBridge会抛出一个断言。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69571825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档