1

所以没有上下文,我有一个返回表的方法。试着打印出来,好像表主要包含要调用的方法。但是对LUA不是很了解,我不知道如何正确获取有关我应该调用的这些方法的一些信息。

我试图从事物的创建者那里获取文档,但据我所知没有。而且由于这是在computercraft(minecraft mod)内部,因此我也没有很多可以依赖的功能。

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

4

3 回答 3

2

仅仅知道方法的名称并不足以弄清楚如何调用它们。

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

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

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

于 2016-02-27T13:45:20.277 回答
2

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

但如果不是这种情况,您可以执行以下操作:

  • 您可以打印表格中的所有内容!这是必须的,方法的名称可能非常有用
  • 你可以寻求帮助!找到使用过相同模块的人,并询问他们是如何工作的。为什么要解决别人已经弄清楚的事情?
  • 使用debug.getinfo调试库和其他 hacky 函数!他们可以提供比 Lua 标准库中的任何其他内容更多的信息!
  • C 端编码可以揭示 Lua 不能做的事情!如果您可以访问 C 端,您可以准确地看到代码在做什么(或者至少我认为是这样)
  • 查看源代码!这向您展示了代码的作用以及它是如何工作的
  • 最重要的是,实验!在不同的参数、不同的值上尝试这些方法,并通过不断的测试来确定它的作用!
于 2016-02-27T18:42:55.387 回答
0

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

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

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

于 2016-02-27T13:46:37.443 回答