- 系统函数:与控制台、反射、异常有关,由
FunctionSystem提供。 - 数学函数:常用数值运算与随机数,由
FunctionMath提供。 - 类型函数:类型转换与类型信息,由
FunctionType提供。
系统函数(FunctionSystem)
系统函数不带命名空间,直接按名称调用。输出与错误
| 函数 | 签名 | 说明 |
|---|---|---|
print | print(value) | 向标准输出打印一行文本,末尾自动换行。 |
error | error(value) | 向标准错误流打印一行文本,末尾自动换行。 |
睡眠与阻塞
| 函数 | 签名 | 说明 |
|---|---|---|
sleep | sleep(ms) | 让当前线程睡眠指定毫秒数,期间会阻塞当前脚本执行。 |
反射与动态调用
| 函数 | 签名 | 说明 |
|---|---|---|
forName | forName(className) | 加载指定的宿主类并返回对应 Class 对象。 |
call | call(func) / call(func, args) | 调用运行时函数或已获取的函数对象,可选以数组形式传入参数列表。 |
示例:
抛出异常
| 函数 | 签名 | 说明 |
|---|---|---|
throw | throw(error) | 直接抛出一个错误对象或把任意值包装为运行时异常抛出。 |
数学函数(FunctionMath)
数学函数同样无需命名空间,可以直接使用;某些函数会尽量保持整数类型不被意外提升为浮点数(参见FunctionMath 实现)。
数学常量
| 名称 | 类型 | 说明 |
|---|---|---|
PI | double | 圆周率常量 Math.PI。 |
E | double | 自然常数 Math.E。 |
比较与范围
| 函数 | 签名 | 说明 |
|---|---|---|
min | min(a, b) | 返回较小的一个参数,支持可比较类型。 |
max | max(a, b) | 返回较大的一个参数,支持可比较类型。 |
clamp | clamp(value, min, max) | 将数值限制在 [min, max] 区间内,并尽量保持原始数值类型。 |
绝对值与取整
| 函数 | 签名 | 说明 |
|---|---|---|
abs | abs(x) | 绝对值,自动根据参数类型返回 int / long / float / double。 |
round | round(x) | 四舍五入到最接近的整数,返回整型数值。 |
floor | floor(x) | 向下取整,如 3.9 -> 3。 |
ceil | ceil(x) | 向上取整,如 3.1 -> 4。 |
三角函数
所有三角函数接受弧度值作为输入:| 函数 | 签名 | 说明 |
|---|---|---|
sin | sin(x) | 正弦函数。 |
cos | cos(x) | 余弦函数。 |
tan | tan(x) | 正切函数。 |
asin | asin(x) | 反正弦,要求 x 在 [-1, 1] 范围内,否则抛出异常。 |
acos | acos(x) | 反余弦,要求 x 在 [-1, 1] 范围内,否则抛出异常。 |
atan | atan(x) | 反正切。 |
指数、对数与幂
| 函数 | 签名 | 说明 |
|---|---|---|
exp | exp(x) | 计算 e^x。 |
log | log(x) | 自然对数,要求 x > 0,否则抛出异常。 |
pow | pow(base, exponent) | 幂运算;当指数与结果均为整数且有限时,尽量返回整数类型。 |
sqrt | sqrt(x) | 平方根,要求 x > 0,否则抛出异常。 |
随机数
random 根据参数个数的不同,具有三种调用形式:
| 调用 | 说明 |
|---|---|
random() | 返回 [0.0, 1.0) 之间的双精度随机数。 |
random(end) | 若 end 为整数类型,则返回 [0, end) 内的整数;若为浮点,则返回 [0.0, end)。end 必须为正数。 |
random(start, end) | 在 [start, end) 区间生成随机数;若两端均为整数,则返回区间内整数,否则返回浮点数。要求 start < end。 |
角度与插值
| 函数 | 签名 | 说明 |
|---|---|---|
rad | rad(deg) | 将角度转换为弧度。 |
deg | deg(rad) | 将弧度转换为角度。 |
lerp | lerp(start, end, t) | 线性插值,计算 start + (end - start) * t。 |
类型函数(FunctionType)
类型函数主要用于值的显式转换与类型信息获取。基础类型转换
这些转换函数会尽量按运行时的转换规则进行解析,当转换失败时通常返回0 / 0L / 0f / 0d:
| 函数 | 签名 | 返回类型 | 说明 |
|---|---|---|---|
int | int(value) | int | 尝试将值转换为整数。 |
long | long(value) | long | 尝试将值转换为长整型。 |
float | float(value) | float | 尝试将值转换为单精度浮点数。 |
double | double(value) | double | 尝试将值转换为双精度浮点数。 |
string | string(value) | string | 按运行时规则转为字符串;内部使用 context.getString(0)。 |
集合与类型信息
| 函数 | 签名 | 返回类型 | 说明 |
|---|---|---|---|
array | array(collection) | Array 或 null | 若参数是 Collection,则转为数组并返回;否则返回 null。 |
typeOf | typeOf(value) | string | 返回底层对象的简短类型名,例如 "String"、"Integer";若为 null,返回字符串 "null"。 |
以上仅覆盖最核心的系统 / 数学 / 类型内置函数,其他内置库(如时间、文件、环境等)在对应章节与函数目录中有更完整的说明。