2

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

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

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

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

4

2 回答 2

1

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

如果您可以修改脚本,那么让它将表(或只是它们的名称)返回给调用脚本会容易得多。

于 2014-06-29T12:59:01.690 回答
1

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

于 2014-06-29T18:39:29.570 回答