标准库¶
状态 | 最后更新 | 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() | 可用 |