此API主要提供了关于正在运行Lua state的电脑的信息,例如其地址和运行时间。API中还包含了用于用户管理的函数。此API中的函数可以从属于os
API,但是为了保持“整洁”,这些函数归类为单独的API。
computer.tmpAddress(): string
computer.freeMemory(): number
computer.totalMemory(): number
computer.energy(): number
computer.maxEnergy(): number
computer.uptime(): number
computer.shutdown([reboot: boolean])
reboot
为true
也可以重启电脑,即先关机再自动启动。此函数不会有返回值。
下面的样例将会在电脑运行至少300秒(5分钟)后重启电脑。local computer = require("computer") if computer.uptime() >= 300 then computer.shutdown(true) end
computer.getBootAddress():string
computer.setBootAddress([address:string])
computer.runlevel(): string|number
返回电脑当前所在的运行状态(英文维基百科)。OpenOS的运行状态有:
S
: 单用户模式,尚未有组件或文件系统初始化1
: 单用户模式,文件系统与组件已初始化——OpenOS完成了启动computer.addUser(name: string): boolean or nil, string
true
,否则返回nil
和一条报错信息。
欲添加的用户必须在线。此用户将会获得此电脑的完全访问权限。在shell中,可以执行useradd <用户名>
命令调用此方法。computer.removeUser(name: string): boolean
true
,若用户先前未被登记则返回false
。
此用户将会失去对此电脑的一切访问权限。当用户列表中的所有用户均被移除时,所有用户均可访问此电脑。在命令行中可使用userdel <用户名>
调用此方法computer.pushSignal(name: string[, ...])
computer.pullSignal([timeout: number]): name, ...
nil
。如果不指定时间则永久等待。
返回结果的第一个值为信号名,后面的返回值与pushSignal
推送的内容有关。依事件类型而定。
通常而言使用event库中的event.pull
函数更加方便。返回值完全一致,但是event
库提供了更多选项。
computer.beep([frequency:string or number[, duration: number])
若frequency
为数字,其值需要介于20与2000之间。
让电脑产生频率为frequency
Hz,时长为duration
秒的滴声。此函数已经被重载为可以接收一个字符串参数,其格式为点.
与-
破折号的组合,分别代表短与长滴声。
computer.getDeviceInfo(): table
返回存储了此电脑上安装的设备信息的表。