Minecraft 中的 ComputerCraft Turtles 需要语句不起作用。

最近我写了很多海龟程序,发现我经常重写相同的函数。我想把所有这些函数放在一个文件中,然后在其他海龟程序的顶部包含它们。通过查看 lua 文档,似乎我需要使用 require。然而,我似乎无法让它运行起来。这是我尝试的一个基本示例:

program1:

print("Hello World")

program2:

require program1

这导致了以下错误:

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

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

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

这也没用。看起来海龟不使用与lua相同的语法来执行 require 语句(如果它们支持它)

有办法在海龟中做这样的事情吗?如果它使用‘require’,那么正确的语法是什么?(我无法访问我玩的服务器的文件,因此简单地编辑它们不是一个选择)

点赞
用户1442917
用户1442917

你需要在引号中加上program1

require "program1"
2015-03-05 05:12:20
用户646619
用户646619

require 是一个函数,你需要使用函数语法来调用它:

require("foo")
-- 或者
require "foo"

... 但是看起来 ComputerCraft 不支持 require 函数。尝试使用 os.loadAPI("path/to/file")

(亲爱的想要沙盒化 Lua 的开发人员:require 支持配置如何加载模块 ;请使用它来替换 require ,而不是直接替换!)

2015-03-05 13:39:40