Minecraft ComputerCraft Turtles 要求声明不起作用

Minecraft ComputerCraft Turtles require statement not working

最近我写了很多海龟程序,发现我不断地重写相同的函数。我想将所有这些函数放入它们自己的文件中,然后将它们包含在我的其他海龟程序的顶部。查看 lua 文档,我似乎需要使用 require。但是我似乎无法让它工作。这是我尝试过的一个基本示例:

程序 1:

 print("Hello World")

节目 2

require program1 

这导致了以下错误:

bios:366: [string "program2"]:1: '=' expected

然后我尝试将包路径设置为当前目录,然后再进行这样的 require 语句:

package.path = package.path .. ';./?.lua;'

那也没用。对于 require 语句,海龟似乎没有使用与 lua 相同的语法(如果它们完全支持的话)

有没有办法对海龟做这样的事情?如果它使用 'require' 那么正确的语法是什么? (我无权访问我玩游戏的服务器文件,因此无法简单地编辑它们)

您需要将 program1 放在引号中:

require "program1"

require是一个函数;您需要使用函数语法调用它:

require("foo")
-- or
require "foo"

...但 ComputerCraft 似乎不支持 require 功能。试试 os.loadAPI("path/to/file").

(亲爱的开发者想要沙盒 Lua:require supports configuring how it loads modules;请使用它而不是替换 require!)