我有一个看起来像这样的lua文件:
tableA = {...}
tableB = {...}
tableC = {...}
我想得到std :: vector,其中包含文件中定义的所有表的名称:{" tableA"," tableB"," tableC" }
如何使用Lua C API执行此操作?
答案 0 :(得分:1)
要获取在执行脚本文件期间创建的随机全局变量的名称,您需要使用环境游戏在您自己的“全局”上下文中运行脚本。
如果您可以修改脚本,那么将表格(或只是它们的名称)返回给调用脚本会更容易。
答案 1 :(得分:1)
表没有名称。变量呢。在这种情况下,变量是全局变量,因此变量名只是globals表中的一个键。也就是说,如果这是你正在编写的API,那么它可能是一个糟糕的设计。您应该为脚本提供一种“注册”有意义的值的方法,而不是强制脚本作者将它们放在特定的位置。