我怎么能得到列表的所有表名在.Lua脚本使用Lua C API

How can I get list of all table names in .lua script using Lua C API?

本文关键字:Lua 脚本 API 怎么能 列表      更新时间:2023-10-16

我有一个lua文件,看起来像这样:

tableA = {…}
tableB = {…}
tableC = {…}

我想要得到std::vector,它将包含文件中定义的所有表的名称:{"tableA", "tableB", "table "}

我如何用Lua C API做到这一点?

表没有名称。变量。在本例中,变量是全局变量,因此变量名只是全局表中的一个键。也就是说,如果这是你正在编写的API,那么它可能是一个糟糕的设计。您应该为脚本提供一种"注册"有意义值的方法,而不是强迫脚本作者将它们放在特定的位置。

要获得脚本文件执行过程中创建的随机全局变量的名称,您需要使用环境游戏在您自己的"全局"上下文中运行脚本。

如果你可以修改脚本,它会更容易让它返回表(或只是他们的名字)调用脚本。