gpt4 book ai didi

variables - Lua在调用程序时加载变量~参数?

转载 作者:行者123 更新时间:2023-12-01 05:32:35 25 4
gpt4 key购买 nike

我最近进入了 Computer Craft (Mod for Minecraft),你可以用 lua 对计算机进行编码。

我想转到“水状态”,它将加载“水”,然后将变量设置为“状态”或在其位置的任何其他单词/字符串,以便我可以将其用于任何事情。我猜你会称它为参数?

os.run( environment, prgmpath, arguments ) 

我不明白什么是环境。 prgmpath 是水,论点是状态?
我只是不确定如何从中获取这些论点。

所以是的,我很困惑 =/

尽量解释清楚,谢谢
爵士乐

四处搜索后,我想我找到了答案。
lua water arg1

进入命令行
derp = arg[2]

进文件?

编辑:在潜伏了更多之后,我发现:
derp = ...
print(derp)

在文件和:
file hi

它打印了 hi,所以我想这可行,但我似乎无法再添加 D=

最佳答案

os.run 是专门为该 mod 编写的 os 库的扩展。根据维基上的文档:

  • environment 是为您在 prgmpath 中运行的脚本设置状态的元表
  • 参数是您想传递给位于 prgmpath
  • 脚本中的代码的任何内容。

    所以基本上,如果你设置了一些代码来在 path/to/file.lua 中做一些特定的事情,但它取决于一些外部状态,你会在你的调用文件中设置那个状态,并传递环境(或它的子集)通过将它作为表传递给 os.run() 中的第一个参数来传递给 file.lua 中的代码。

    arguments 应该是你想传递给你在 file.lua 中调用的函数的参数表。所以如果在 file.lua 你有...
    function doSomething(arg1, arg2, arg3)
    ...
    end

    您可以通过创建一个表并像这样传递它来将 arg1、arg2 和 arg3 传递给 doSomething...
    local args = {"arg1Val", {}, 1234}
    os.run({}, '/path/to/file.lua', args)

    os.run 然后会为 file.lua 中的函数 doSomething() 设置一个空环境,并将 args 中的 3 个值传递给函数。

    有道理?

    关于variables - Lua在调用程序时加载变量~参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10571111/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com