包含方法的表,如何处理/检查它们?

时间:2016-02-27 13:36:36

标签: lua lua-table computercraft

所以没有上下文,我有一个返回表的方法。 试图将其打印出来,似乎该表主要包含要调用的方法。 然而,在LUA中不是很了解,我不知道如何正确获取有关这些方法的信息。

我试图从事物的创造者处获取文件,但据我所知,没有。由于这是在计算机技术(minecraft mod)中,我没有很多功能可以依赖。

因此只知道它是一个可以调用方法的表,我如何正确地弄清楚如何调用它们,以及使用什么参数等?

3 个答案:

答案 0 :(得分:2)

只知道方法的名称不足以说明如何调用它们。

他们的名字可能是一个线索,但不能保证。

如果方法是用Lua编写的,你可以使用调试API来发现参数的名称,这也可能只是指示如何调用方法。

底线:您需要文档或示例代码。

答案 1 :(得分:2)

一般来说,模块/库总是附带文档或打印文档的方法。

但如果不是这样,那么你可以做什么:

  • 您可以打印表格中的所有内容!这是必须的,方法的名称可以非常有用
  • 您可以寻求帮助!找到使用过相同模块的人,并询问他们的工作原理。为什么要解决其他人已经弄清楚的事情
  • 使用debug.getinfo和其他hacky函数进行调试库!他们可以提供更多信息,而不是Lua标准库中的任何其他内容!
  • C-Side编码可以揭示Lua不能!如果您有权访问C-Side,您可以看到完全代码正在做什么(或者至少我认为是这样)
  • 查看源代码!这将向您显示代码的作用以及如何执行
  • 最重要的是,实验!尝试不同参数,不同值的方法,并通过连续测试识别它的作用!

答案 2 :(得分:0)

我知道这存在,并不知道它是如何运作的。所以供将来参考: 您可以通过在Minecraft聊天中执行/ op_dump来转储外围设备和方法。

这会生成一个XML,用于写出它在外设OR对象/表中找到的所有方法。

这意味着您必须调用一次有趣的方法,这将生成表作为返回。然后调用/ op_dump将包含新遇到的对象以及有关方法/参数等的所有信息。