系统函数

系统函数

系统函数

功能

系统函数是 BT 运行时的全局基础能力,覆盖环境自省、动态调用、类型转换、JSON 序列化、正则、路径、休眠、随机数和标准库构造入口。

API 列表

API说明
envs读取系统环境对象,或按名称读取系统函数、标准库构造函数、系统常量。
env读取用户全局环境对象,或按名称读取用户全局变量。
has_envs判断系统环境中是否存在指定名称。
has_env判断用户全局环境中是否存在指定变量。
pause向控制台输出可选提示并等待用户按回车。
assert断言条件成立,失败时抛出运行时错误。
echo把所有参数转为字符串,用空格连接后输出到控制台。
bool把值按 BT 真值规则转换为布尔值。
eval编译并执行字符串脚本,返回脚本显式 return 或 exit 的值。
exit设置退出值并结束当前脚本执行。
include运行期引入并执行 BT 文件,返回被引入文件显式 return 或 exit 的值。
include_once运行期引入并执行 BT 文件,同一执行上下文内同一真实文件只执行一次。
cur_dir返回当前源码文件所在目录。
cur_file返回当前源码文件路径。
cur_root返回当前 VM 项目根目录。
type返回值的脚本可见类型名。
call按函数名或函数值动态调用函数。
task创建轻量后台任务,并通过 await、done、result、on_done 读取状态和结果。
task_all等待一组 Task 全部完成,并按输入顺序返回成功结果数组。
task_race等待一组 Task 中最先完成的任务,并返回它的结果。
set_timeout注册一次性延迟回调,并立即返回 Timer 对象。
set_interval注册固定延迟重复回调,并立即返回 Timer 对象。
Timer.cancel取消尚未触发的 timeout 或后续 interval。
number把值转换为数字。
string把值转换为字符串。
float把值转换为浮点数。
int把值转换为整数。
array把值转换为数组。
object把值转换为对象。
json把值序列化为标准 JSON 字符串。
regex编译正则表达式并返回 Regex 对象。
is_empty判断值是否为空。
is_null判断值是否为 Null。
sleep让当前线程休眠指定毫秒数。
rand生成伪随机数。

示例

注意事项

  • 系统函数无状态;对象型标准库入口如 fs、html、crypto、url、path、bytes、mysql、modbus、reqwest 由 VM 的库构造分支创建。
  • printprintln 是语言输出语句,不是可通过 call() 动态调用的系统函数;它们的用法见 输出
  • echo 是系统函数,支持 echo(value) 和单参数无括号语法。