使用 Lua 转换 userdata 到表格,需要学习多少 C 才能做到这一点

您好,先感谢您的帮助。我正在尝试找到一种方法来避免需要学习 C (我完全不了解) 将 userdata 转换为 Lua 表格。

我正在使用一个应用程序,允许用户使用 Lua 脚本编写插件。这些插件可以查询应用程序的基础数据。但是查询结果以 userdata 的形式返回,并且我需要将它们返回到脚本中。

在应用程序文档中,我一直没有找到有关使用返回的数据集的任何信息。仅给出以下描述(链接):

执行当前分配的查询字符串,使用结果构造 DataSet 对象(如果返回多个结果集)或 DataTable(如果返回一个或零个结果集)。

在我的情况下,我将得到多个结果集,我将其称为 userdata,因为当我在查询结果上调用 'type()' 时会得到它。

我查看了 Lua 文档,看起来可能很有用,但由于没有任何关于 C 的熟悉,我不知道在看什么。元表告诉我可以访问 __index__newindex__tostring__gc 元方法。调用 tostring 给我一个七位数整数,这与我的数据(我想)完全无关。我甚至可能根本没有得到我想要的数据,但我无法找到检查数据的方法。在线资源要么说这不可能完成,要么提供在 C 中的解决方案,这些解决方案可能是聪明、干净、真棒的,但我不理解它们。

因此,我正在寻找更明确的指导,无论我能否/应该做到这一点,是否有办法在不使用 C 的情况下实现这一点(或只是盲目地复制别人的代码),或者 - 如果我需要使用 C 的话 - 到达我需要到达的地方需要学习 90 分钟或 7 小时的 Lynda C 入门课程?

(如果我无意中违反了任何社区规定,请谅解我...这是我第一次发布问题)

点赞