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 [2023/10/16 11:16]
hfsr [自定义的库]
api:zh [2023/11/28 10:03]
hfsr [自定义库]
Line 5: Line 5:
 ------------------ ------------------
  
-最基本也是最首要的,如果你是 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:​zh|与标准库的差异]]。最值得注意的是,debug库基本上不可用,以及`load` 只接受文本源代码文件,不接受二进制或预编译的Lua程序(出于安全因素考虑)。
- +
-OC 在很大程模拟平时与主机系统交互的标准库,也就是 I/O 库。其中有少许不同,你可以在这里查看:[[api:​non-standard-lua-libs:​zh|与标准库的差异]]。最值得注意的是,debug 库基本上不可用,以及`load` 只接受文本源代码文件,不接受二进制或预编译的 Lua 程序(出于安全因素考虑)。+
  
 下列标准库在全局环境下可用,因此可以直接使用,无需预加载到你的脚本中。 下列标准库在全局环境下可用,因此可以直接使用,无需预加载到你的脚本中。
Line 19: Line 17:
   * [[api:​non-standard-lua-libs:​zh#​os(操作系统)|os]]   * [[api:​non-standard-lua-libs:​zh#​os(操作系统)|os]]
   * [[api:​non-standard-lua-libs:​zh#​package(包)|package]]   * [[api:​non-standard-lua-libs:​zh#​package(包)|package]]
-  * `print` 不是库,但是经常被用向stdout(标准输出)输出文本的基本方法+  * `print` 不是库,但是经常被用向stdout(标准输出)输出文本。
  
 ```lua ```lua
Line 31: Line 29:
 ---------------- ----------------
  
-下列是为了便而提供的非标准库的介绍。+下列是为了便而提供的非标准库的介绍。
  
-请注意,所有非标准API在使用之前都需要 `require ` ,非标准库即所有没有在[[http://​www.lua.org/​manual/​5.3/​manual.html|Lua参考手册]]或[[api:​zh#​标准库|标准库]]中列出的库。来说,你不可以只写一句 `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 39: 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*` 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 state的OC电脑信息,或与其交互。+- [[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编码和频率间转换。
Line 60: Line 58:
 - [[api:​rc:​zh|rc(自动运行)]]:提供了自动运行程序和服务管理功能。 - [[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(线程)]]:提供自主且非阻塞的协作线程。