标准库

状态 最后更新 API版本
Active 2019-11-14 V1.00.00

描述

表头支持经过裁剪的lua标准库,这里将列举裁剪情况。 请注意裁剪情况可能随新固件更新而变化。 除非遇到非常紧迫的开发问题,支持的库只会增加,但不能完全保证会裁剪更多。

备注

lua标准库本身没有提供创建目录的API,这个功能将由sys.mkdir()提供。

概览

下面列出了各个标准库的大概裁剪情况:

情况
os 被部分裁剪
string 可用
io 被部分裁剪
package 被部分裁剪
table 可用
math 被部分裁剪
debug 被部分裁剪
coroutine 可用

os

函数 情况 备注
clock() 可用 在该平台上返回系统启动以来的毫秒数
date() 可用
difftime() 谨慎使用 *Note1
execute() 被裁剪 在该平台上实现该函数无意义
exit() 可用
getenv() 被裁剪 在该平台上实现该函数无意义
remove() 可用 删除文件和文件夹均可使用该函数
rename() 可用 重命名文件和文件夹均可使用该函数
setlocale() 可用
time() 谨慎使用 *Note1
tmpname() 被裁剪

Notes: 1.为了减小RAM使用量,在这个平台上lua number被定义为单精度float, 其有效精度低于uint32。因此,使用POSIX时间戳作为返回值的函数difftime(), time()被转化为lua number后将损失精度。 返回值的精度为128秒而非POSIX时间戳的1秒。推荐使用os.date() 来规避POSIX时间戳的精度问题。

string

函数 情况 备注
byte() 可用
char() 可用
dump() 可用
find() 可用
format() 可用
gfind() 可用
gmatch() 可用
gsub() 可用
len() 可用
lower() 可用
rep() 可用
reverse() 可用
sub() 可用
upper() 可用

io

函数 情况 备注
close() 可用
flush() 可用
input() 可用
lines() 可用
open() 可用
output() 可用
popen() 被裁剪 在该平台上实现该函数无意义
read() 可用
type() 可用
write() 可用
file:close() 可用
file:flush() 可用
file:lines() 可用
file:read() 可用
file:seek() 可用
file:setvbuf() 被裁剪 在该平台上实现该函数无意义
file:write() 可用

文件访问被重定向至内部存储器。

package

函数 情况 备注
loadlib() 被裁剪
seeall() 可用

table

函数 情况 备注
concat() 可用
insert() 可用
move() 可用
pack() 可用
remove() 可用
sort() 可用
unpack() 可用

math

函数 情况 备注
abs() 可用
acos() 被裁剪 *Note1
asin() 被裁剪 *Note1
atan() 被裁剪 *Note1
ceil() 可用
cosh() 被裁剪 *Note1
cos() 被裁剪 *Note1
deg() 被裁剪 *Note1
exp() 被裁剪 *Note1
floor() 可用
fmod() 可用
mod() 可用
frexp() 被裁剪 *Note1
ldexp() 被裁剪 *Note1
log10() 被裁剪 *Note1
log() 被裁剪 *Note1
max() 可用
min() 可用
modf() 可用
pow() 可用
rad() 被裁剪 *Note1
random() 可用
randomseed() 可用
sinh() 被裁剪 *Note1
sin() 被裁剪 *Note1
sqrt() 可用
tanh() 被裁剪 *Note1
tan() 被裁剪 *Note1
Notes:
1. 三角函数,对数和指数函数被裁剪,因为他们在应用中几乎不会被使用,且他们带来较大的ROM占用。

debug

函数 情况 备注
debug() 被裁剪 没有对应的交互Shell
gethook() 可用
getinfo() 可用
getlocal() 可用
getmetatable() 可用
getregistry() 可用
getupvalue() 可用
getuservalue() 可用
sethook() 可用
setlocal() 可用
setmetatable() 可用
setupvalue() 可用
setuservalue() 可用
traceback() 可用

coroutine

函数 情况 备注
create() 可用
resume() 可用
running() 可用
status() 可用
wrap() 可用
yield() 可用