This shows you the differences between two versions of the page.
Both sides previous revision Previous revision | Last revision Both sides next revision | ||
tutorial:custom_oses:zh [2023/12/03 10:53] hfsr [什么可用?] |
tutorial:custom_oses:zh [2023/12/03 10:55] hfsr [在 BIOS 中访问组件] |
||
---|---|---|---|
Line 191: | Line 191: | ||
``` | ``` | ||
- | 在 BIOS 中访问组件 | + | 在BIOS中访问组件 |
----------------- | ----------------- | ||
- | 与 OpenOS 不同,BIOS没有首选组件系统。这意味着您不能只编写 `component.redstone.setOutput`,而是必须先手动为组件创建代理对象。出于多种原因,代理对象系统是通过机器本身提供的,因此您仍然可以使用它。若要获取代理对象,请使用 `component.proxy` 方法。此函数需要你打算包装的组件地址。 您可以手动写下来,或者用 `component.list` 来获得组件的列表并从中获取。 | + | 与OpenOS不同,BIOS没有首选组件系统。这意味着你不能只写`component.redstone.setOutput`,而是必须先手动为组件创建代理对象。出于多种原因,代理对象系统是通过机器本身提供的,因此您仍然可以使用它。若要获取代理对象,请使用`component.proxy`方法。此函数需要你提供打算包装的组件地址。 您可以手动写下来,或者用`component.list`来获得组件的列表并从中获取。 |
比如说,要获得第一个红石组件,您可以执行以下操作: | 比如说,要获得第一个红石组件,您可以执行以下操作: | ||
Line 199: | Line 199: | ||
local r = component.proxy(component.list("redstone")()) | local r = component.proxy(component.list("redstone")()) | ||
``` | ``` | ||
- | 这行代码可以工作,因为 `component.list` 返回一个 Lua 迭代器——一个可重复调用来获得下一个元素的函数,当没有元素时返回`nil`。 | + | 这行代码可以工作,因为`component.list`返回一个 Lua 迭代器——一个可重复调用来获得下一个元素的函数,当没有元素时返回`nil`。 |
其他东西 | 其他东西 |