Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
api:zh [2022/08/11 10:52]
fight_xing [自定义的库]
api:zh [2023/11/28 10:03] (current)
hfsr [自定义库]
Line 1: Line 1:
 API API
 ==== ====
- 
-**译者注:本文档的部分/​全部翻译来自 [MCBBS](https://​www.mcbbs.net/​thread-930346-1-1.html),由于 MCBBS 当前(2022.8)正在进行系统维护,暂无法联系原译者“Tony🐴”,因此这是未授权的转载。** 
  
 标准库 标准库
 ------------------ ------------------
  
-最基本也是最首要的,如果你是 Lua 新人,应该熟悉 [[http://​www.lua.org/​manual/​5.3/​manual.html|Lua 参考手册]](英文)。你会在这里找到大部分基本 Lua 功能和例子,以及大量标准库功能。 +最首要的,如果你是 Lua 新人,应该熟悉[[http://​www.lua.org/​manual/​5.3/​manual.html|Lua参考手册]](英文)[[https://​www.runoob.com/​lua/​|菜鸟教程网的Lua教程]]。你可以在其中找到大部分Lua基础函数的解释,以及大量标准库函数。
- +
-(译者注:中文读者可参见菜鸟教程的 ​[[https://​www.runoob.com/​lua/​|Lua 教程]]。)+
  
-OC 模拟大部分和系统互的标准库,也就是 I/O 库。有少许不同,你可以在这里查看:[[api:​non-standard-lua-libs|与标准库的差异]]。最值得注意的是,几乎整个 ​debug 库都是不可用,`load` 只接受文本源文件,不接受二进制或预编译的 Lua 程序(这是由于安全因)。+OC于高度模拟通常用于与主机系统互的标准库,也就是I/​O库。其中有少许不同,你可以在这里查看:[[api:​non-standard-lua-libs:zh|与标准库的差异]]。最值得注意的是,debug库基本上不可用,以及`load` 只接受文本源代码文件,不接受二进制或预编译的Lua程序(于安全因素考虑)。
  
-下列标准库文件可以在全局环境下使用,它们不预加载到你的脚本中也能正常运行+下列标准库在全局环境下可用,因此可以直接使用,需预加载到你的脚本中。
  
-  * [[api:​non-standard-lua-libs:​zh#​协程操作|coroutine]] +  * [[api:​non-standard-lua-libs:​zh#​coroutine(协程)|coroutine]] 
-  * [[api:​non-standard-lua-libs:​zh#​调试|debug]] +  * [[api:​non-standard-lua-libs:​zh#​debug(调试)|debug]] 
-  * [[api:​non-standard-lua-libs:​zh#​输入输出设备|io]] +  * [[api:​non-standard-lua-libs:​zh#​io(输入输出)|io]] 
-  * [[api:​non-standard-lua-libs:​zh#​数学函数|math]] +  * [[api:​non-standard-lua-libs:​zh#​math(数学)|math]] 
-  * [[api:​non-standard-lua-libs:​zh#​操作系统设备|os]] +  * [[api:​non-standard-lua-libs:​zh#​os(操作系统)|os]] 
-  * [[api:​non-standard-lua-libs:​zh#​模块|package]] +  * [[api:​non-standard-lua-libs:​zh#​package(包)|package]] 
-  * `print` 不是一个库,但是是一个常用输出方法+  * `print` 不是库,但是于向stdout(标准输出)输出文本
  
 ```lua ```lua
Line 27: Line 23:
 ``` ```
  
-  * [[api:​non-standard-lua-libs:​zh#​字符串操作|string]] +  * [[api:​non-standard-lua-libs:​zh#​string(字符串)|string]] 
-  * [[api:​non-standard-lua-libs:​zh#​表操作|table]]+  * [[api:​non-standard-lua-libs:​zh#​table()|table]]
  
-自定义+自定义库
 ---------------- ----------------
  
-下列是为了便而提供的非标准库。+下列是为了便而提供的非标准库的介绍
  
-请注意,在使用所有非标准之前,你需要 `require ` 它们,非标准库即所有没有在Lua基本参考手册中列出的标准库。来说,你不应该仅仅使用 ​`local rs = component.redstone`,你需要先通过 require ​声明调用此API,就像这样:+请注意,所有非标准API在使用之前需要`require `,非标准库即所有[[http://​www.lua.org/​manual/​5.3/​manual.html|Lua参考手册]]或[[api:​zh#​标准库|标准库]]中列出的库。例,你不可以只写一句`local rs = component.redstone`,你需要先通过`require`调用此API,就像这样:
  
 ```lua ```lua
Line 41: Line 37:
 local rs = component.redstone local rs = component.redstone
  
--- 你当然可以改变量名称:+-- 你当然可以改变量名称:
 local mycomp = require("​component"​) local mycomp = require("​component"​)
 local rs = mycomp.redstone local rs = mycomp.redstone
 ``` ```
-以下列出的 API 都是这样(甚至 sides 和 colors 也是如此)。+以下列出的 API 都是这样(甚至`sides``colors`也是如此)。
  
-除了Lua提供的标准库外,OC 提供了两个内建的库。它们当中的一些功能可能无法使用,视你的配置(HTTP)或情况计算机上无法调用机器人上的库)而定,但是它们仍然存在。+除了Lua提供的标准库外,OC提供了一些额外内置库。下面列出了这些库。请注意它们当中的一些可能无法使用,视你的配置(HTTP)或运行环境电脑上无法调用机器人上的库)而定,但是它们仍然存在。
  
-- [[api:​buffer:​zh|buffer]]:一个适用于包装好的流的 ​Lua `File*`<​sup>​原文如此</​sup> ​API 缓冲区实现。 +- [[api:​buffer:​zh|buffer(缓冲)]]:Lua `File*` API缓冲区实现,用于封装流。 
-- [[api:​colors:​zh|colors]]:一个被来按标准引用的包含所有 ​Minecraft 颜色的表。 +- [[api:​colors:​zh|colors(颜色)]]:一份全局表,可于以名称引用标准Minecraft颜色。 
-- [[api:​component:​zh|component]]:查找与管理所有连接到计算机的组件。 +- [[api:​component:​zh|component(组件)]]:查找与管理所有连接到电脑的组件。 
-- [[api:​computer:​zh|computer]]:通过 Lua 查询计算机的运行信息计算机交互的库。 +- [[api:​computer:​zh|computer(电脑)]]:查询运行Lua state的OC电脑信息,或交互。 
-- [[api:​event:​zh|event]]:一个事件系统,​ 通常被其他库调用,​ 用于注册信号接收程序。 +- [[api:​event:​zh|event(事件)]]:一个事件系统,​ 通常被其他库调用,​ 用于将处理函数注册信号。 
-- [[api:​uuid:​zh|uuid]]:创建一串 ​8-4-4-4-12 格式的字符串。 +- [[api:​uuid:​zh|uuid]]:创建8-4-4-4-12格式的长唯一标识字符串(uuid)。 
-- [[api:​fileSystem:​zh|filesystem]]:一套抽象的文件系统交互。 +- [[api:​fileSystem:​zh|filesystem(文件系统)]]:抽象文件系统组件的交互。 
-- [[api:​internet:​zh|internet]]:一个网卡功能的装。 +- [[api:​internet:​zh|internet(网络)]]:一个网卡功能的装。 
-- [[api:​keyboard:​zh|keyboard]]:一个按名称和按下的按键踪按键的代码表。 +- [[api:​keyboard:​zh|keyboard(键盘)]]:提供了按键编码表,以及跟踪按键按下状态。 
-- [[api:​note:​zh|note]]:在MIDI频率和实际音符间转换的库。 +- [[api:​note:​zh|note(音符)]]:实际名称、MIDI频率间转换。 
-- [[api:​process:​zh|process]]:保持踪正在运行的程序与运行环境。 +- [[api:​process:​zh|process(进程)]]:保持踪正在运行的程序与运行环境。 
-- [[api:​rc:​zh|rc]]:Lua提供的一套自动行程序服务管理的库。 +- [[api:​rc:​zh|rc(自动运行)]]:提供自动行程序服务管理功能。 
-- [[api:​robot:​zh|robot]]:以抽象方法操作机器人的。 +- [[api:​robot:​zh|robot(机器人)]]:机器人行为抽象化访问。 
-- [[api:​serialization:​zh|serialization]]:允许序列化,例如通过网络发送它们时。 +- [[api:​serialization:​zh|serialization(序列化)]]:用于将数值序列化,例如通过网络发送数值时。 
-- [[api:​shell:​zh|shell]]:正在执行的程序路径跟踪与程序执行情况。 +- [[api:​shell:​zh|shell]]:工作目录与执行程序。 
-- [[api:​sides:​zh|sides]]:一个允许根据按名称引用方向(面)的全局表。 +- [[api:​sides:​zh|sides(方向)]]:一份全局表,用于通过名称引用方向。 
-- [[api:​term:​zh|term]]:提供光标的概念,用于分别读写键盘输入和屏幕输出。 +- [[api:​term:​zh|term(终端)]]:提供光标的概念,以及用于分别键盘读取屏幕输出。 
-- [[api:​text:​zh|text]]:提供类似于 ​tab 转空格之类的文字实用程序。 +- [[api:​text:​zh|text(文本)]]:提供文本编辑相关功能,例如将tab转空格。 
-- [[api:​thread:​zh|thread]]:提供自主且非阻塞的协作线程。 +- [[api:​thread:​zh|thread(线程)]]:提供自主且非阻塞的协作线程。 
-- [[api:​transforms:​zh|transforms]]:提供有用且强大的表操作器。 +- [[api:​transforms:​zh|transforms(转换)]]:提供有用且强大的表操作器。 
-- [[api:​unicode:​zh|unicode]]:提供 string 库某些功能的 Unicode 实现。+- [[api:​unicode:​zh|unicode]]:提供 string 库某些功能的支持Unicode实现。
  
 目录 目录
 ----------- -----------
 {{page>​api:​contents:​zh&​noheader&​noeditbutton&​nouser&​nofooter}} {{page>​api:​contents:​zh&​noheader&​noeditbutton&​nouser&​nofooter}}