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
Last revision Both sides next revision
api:zh [2022/08/10 13:39]
fight_xing [标准库]
api:zh [2023/11/28 10:03]
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#​coroutine_manipulation|coroutine(英文)]] +  * [[api:​non-standard-lua-libs:zh#coroutine(协程)|coroutine]] 
-  * [[api:​non-standard-lua-libs#​debug|debug(英文)]] +  * [[api:​non-standard-lua-libs:zh#debug(调试)|debug]] 
-  * [[api:​non-standard-lua-libs#​input_and_output_facilities|io(英文)]] +  * [[api:​non-standard-lua-libs:zh#io(输入输出)|io]] 
-  * [[api:​non-standard-lua-libs#​mathematical_functions|math(英文)]] +  * [[api:​non-standard-lua-libs:zh#math(数学)|math]] 
-  * [[api:​non-standard-lua-libs#​operating_system_facilities|os(英文)]] +  * [[api:​non-standard-lua-libs:zh#os(操作系统)|os]] 
-  * [[api:​non-standard-lua-libs#​Modules|package(英文)]] +  * [[api:​non-standard-lua-libs:zh#package(包)|package]] 
-  * `print` 不是一个库,但是是一个常用输出方法+  * `print` 不是库,但是于向stdout(标准输出)输出文本
  
 ```lua ```lua
Line 27: Line 23:
 ``` ```
  
-  * [[api:​non-standard-lua-libs#​string_manipulation|string(英文)]] +  * [[api:​non-standard-lua-libs:zh#string(字符串)|string]] 
-  * [[api:​non-standard-lua-libs#​table_manipulation|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|buffer(英文)]]:一个适用于包装好的流的 ​Lua `File*`<​sup>​原文如此</​sup> ​API 缓冲区实现。 +- [[api:​buffer:zh|buffer(缓冲)]]:Lua `File*` API缓冲区实现,用于封装流。 
-- [[api:​colors|colors(英文)]]:一个被来按标准引用的包含所有 ​Minecraft 颜色的表。 +- [[api:​colors:zh|colors(颜色)]]:一份全局表,可用于以名称引用标准Minecraft颜色。 
-- [[api:​component|component(英文)]]:查找与管理所有连接到计算机的组件。 +- [[api:​component:zh|component(组件)]]:查找与管理所有连接到电脑的组件。 
-- [[api:​computer|computer(英文)]]:通过 Lua 查询计算机的运行信息计算机交互的库。 +- [[api:​computer:zh|computer(电脑)]]:查询运行Lua state的OC电脑信息,或交互。 
-- [[api:​event|event(英文)]]:一个事件系统,​ 通常被其他库调用,​ 用于注册信号接收程序。 +- [[api:event:zh|event(事件)]]:一个事件系统,​ 通常被其他库调用,​ 用于将处理函数注册信号。 
-- [[api:​uuid|uuid(英文)]]:创建一串 ​8-4-4-4-12 格式的字符串。 +- [[api:uuid:zh|uuid]]:创建8-4-4-4-12格式的长唯一标识字符串(uuid)。 
-- [[api:​fileSystem|filesystem(英]]:一套抽象的文件系统交互。 +- [[api:​fileSystem:zh|filesystem(件系统)]]:抽象文件系统组件的交互。 
-- [[api:​internet|internet(英文)]]:一个网卡功能的装。 +- [[api:​internet:zh|internet(网络)]]:一个网卡功能的装。 
-- [[api:​keyboard|keyboard(英文)]]:一个按名称和按下的按键踪按键的代码表。 +- [[api:​keyboard:zh|keyboard(键盘)]]:提供了按键编码表,以及跟踪按键按下状态。 
-- [[api:​note|note(英文)]]:在MIDI频率和实际音符间转换的库。 +- [[api:note:zh|note(音符)]]:实际名称、MIDI频率间转换。 
-- [[api:​process|process(英文)]]:保持踪正在运行的程序与运行环境。 +- [[api:​process:zh|process(进程)]]:保持踪正在运行的程序与运行环境。 
-- [[api:rc|rc(英文)]]:Lua提供的一套自动行程序服务管理的库。 +- [[api:rc:zh|rc(自动运行)]]:提供自动行程序服务管理功能。 
-- [[api:​robot:​zh|robot]]:以抽象方法操作机器人的。 +- [[api:​robot:​zh|robot(机器人)]]:机器人行为抽象化访问。 
-- [[api:​serialization|serialization(英文)]]:允许序列化,例如通过网络发送它们时。 +- [[api:​serialization:zh|serialization(序列化)]]:用于将数值序列化,例如通过网络发送数值时。 
-- [[api:​shell|shell(英文)]]:正在执行的程序路径跟踪与程序执行情况。 +- [[api:shell:zh|shell]]:工作目录与执行程序。 
-- [[api:​sides|sides(英文)]]:一个允许根据按名称引用方向(面)的全局表。 +- [[api:sides:zh|sides(方向)]]:一份全局表,用于通过名称引用方向。 
-- [[api:​term|term(英文)]]:提供光标的概念,用于分别读写键盘输入和屏幕输出。 +- [[api:term:zh|term(终端)]]:提供光标的概念,以及用于分别键盘读取屏幕输出。 
-- [[api:​text|text(英]]:提供类似于 ​tab 转空格之类的文字实用程序。 +- [[api:text:zh|text(本)]]:提供文本编辑相关功能,例如将tab转空格。 
-- [[api:​thread|thread(英文)]]:提供自主且非阻塞的协作线程。 +- [[api:​thread:zh|thread(线程)]]:提供自主且非阻塞的协作线程。 
-- [[api:​transforms|transforms(英文)]]:提供有用且强大的表操作器。 +- [[api:​transforms:zh|transforms(转换)]]:提供有用且强大的表操作器。 
-- [[api:​unicode|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}}