📝 docs(tsl): restructure agent-facing reference

Rework TSL syntax, catalog, modules, and routing docs around deterministic agent lookup and generation.

Split large catalog pages into focused function fact pages, remove obsolete pending/verified/unavailable paths, and update consistency tests for the new structure.
This commit is contained in:
csh
2026-06-09 17:24:30 +08:00
parent 9c194170a1
commit 540b3c0a1b
192 changed files with 32929 additions and 13533 deletions
@@ -0,0 +1,335 @@
# 系统相关函数 - 数据类型函数
文档类型:函数事实页
是否可直接用于生成代码:是;本页函数条目均包含参数表
遇到不确定时:回到 [../system.md](../system.md)、[../../index.md](../../index.md)
## 数据类型函数
### `dataType(value, mode)`
用途:返回数据类型编号,支持数组遍历模式。
参数个数:2
返回值:类型编号或类型数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | ------------------------------------------------------- |
| 1 | `value` | 是 | 任意值 | 输入数据 |
| 2 | `mode` | 是 | 整数 | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
### `ifInt(value, mode)`
用途:判断是否为 32 位整数类型。
参数个数:2
返回值:布尔值或布尔数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | --------------------- | ------------------------------------------------------- |
| 1 | `value` | 是 | 整数/实数/字符串/数组 | 输入数据 |
| 2 | `mode` | 是 | 整数 | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
### `ifInt64(value, mode)`
用途:判断是否为 64 位整数类型。
参数个数:2
返回值:布尔值或布尔数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | ------------------------------------------------------- |
| 1 | `value` | 是 | 任意值 | 输入数据 |
| 2 | `mode` | 是 | 整数 | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
### `ifReal(value, mode)`
用途:判断是否为 实数类型。
参数个数:2
返回值:布尔值或布尔数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | ------------------------------------------------------- |
| 1 | `value` | 是 | 数组 | 输入数据 |
| 2 | `mode` | 是 | 整数 | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
### `ifNumber(value, mode)`
用途:判断是否为 数字(整数或实数)类型。
参数个数:2
返回值:布尔值或布尔数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | ------------------------------------------------------- |
| 1 | `value` | 是 | 数组 | 输入数据 |
| 2 | `mode` | 是 | 整数 | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
### `ifString(value, mode)`
用途:判断是否为 字符串类型。
参数个数:2
返回值:布尔值或布尔数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | ------------------------------------------------------- |
| 1 | `value` | 是 | 数组 | 输入数据 |
| 2 | `mode` | 是 | 整数 | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
### `ifArray(value, mode)`
用途:判断是否为 数组类型。
参数个数:2
返回值:布尔值或布尔数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | ------------------------------------------------------- |
| 1 | `value` | 是 | 任意值 | 输入数据 |
| 2 | `mode` | 是 | 整数 | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
### `ifNil(value, mode)`
用途:判断是否为 Nil类型。
参数个数:2
返回值:布尔值或布尔数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | ------------------------------------------------------- |
| 1 | `value` | 是 | nil | 输入数据 |
| 2 | `mode` | 是 | 整数 | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
### `ifNone(value[, tag])`
用途:判断对象 `operator[1]` 多级下标写入时传入的 None 标记值。
参数个数:1 到 2
返回值:布尔值
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | ------------------------------------------------ |
| 1 | `value` | 是 | None | `operator[1]` 中间层或回滚层传入的 None 值 |
| 2 | `tag` | 否 | 整数 | None 标记值;中间层第一层为 `0`,回滚标记为 `-1` |
### `getNone(value)`
用途:读取 None 值携带的整数标记。
参数个数:1
返回值:整数标记
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | ------------------------------------------ |
| 1 | `value` | 是 | None | `operator[1]` 中间层或回滚层传入的 None 值 |
### `ifExp(value, mode)`
用途:判断是否为 表达式类型。
参数个数:2
返回值:布尔值或布尔数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | ------------------------------------------------------- |
| 1 | `value` | 是 | 任意值 | 输入数据 |
| 2 | `mode` | 是 | 整数 | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
### `ifGraph(value)`
用途:判断是否为 图形类型。
参数个数:1
返回值:布尔值或布尔数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | -------- |
| 1 | `value` | 是 | 任意值 | 输入数据 |
### `ifGraphGroup(value)`
用途:判断是否为 图形组类型。
参数个数:1
返回值:布尔值或布尔数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | -------- |
| 1 | `value` | 是 | 任意值 | 输入数据 |
### `ifBinary(value, mode)`
用途:判断是否为 二进制/Buffer类型。
参数个数:2
返回值:布尔值或布尔数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | ------------------------------------------------------- |
| 1 | `value` | 是 | 任意值 | 输入数据 |
| 2 | `mode` | 是 | 整数 | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
### `ifMatrix(value)`
用途:判断是否为 Matrix类型。
参数个数:1
返回值:布尔值或布尔数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | -------- |
| 1 | `value` | 是 | 任意值 | 输入数据 |
### `ifFmarray(value)`
用途:判断是否为 FMArray 类型。
参数个数:1
返回值:布尔值
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | -------- |
| 1 | `value` | 是 | 任意值 | 输入数据 |
### `ifObj(value)`
用途:判断是否为对象类型。
参数个数:1
返回值:布尔值或布尔数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | -------- |
| 1 | `value` | 是 | 任意值 | 输入数据 |
### `createMatrix(rows, cols, cols_value, values[, arg5][, arg6][, arg7][, arg8][, arg9][, arg10][, arg11][, arg12][, arg13][, arg14][, arg15])`
用途:创建 Matrix 类型数据,可指定列索引与初始值。
参数个数:4 到 15
返回值:Matrix 对象
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------------ | ---- | -------- | -------------------------------- |
| 1 | `rows` | 是 | 整数 | 行数 |
| 2 | `cols` | 是 | 整数 | 列数 |
| 3 | `cols_value` | 是 | 整数 | 列序列(可选) |
| 4 | `values` | 是 | 整数 | 初始化值序列(可选,按行列顺序) |
| 5 | `arg5` | 否 | 整数 | 按源文档示例顺序传入 |
| 6 | `arg6` | 否 | 整数 | 按源文档示例顺序传入 |
| 7 | `arg7` | 否 | 整数 | 按源文档示例顺序传入 |
| 8 | `arg8` | 否 | 整数 | 按源文档示例顺序传入 |
| 9 | `arg9` | 否 | 整数 | 按源文档示例顺序传入 |
| 10 | `arg10` | 否 | 整数 | 按源文档示例顺序传入 |
| 11 | `arg11` | 否 | 整数 | 按源文档示例顺序传入 |
| 12 | `arg12` | 否 | 整数 | 按源文档示例顺序传入 |
| 13 | `arg13` | 否 | 整数 | 按源文档示例顺序传入 |
| 14 | `arg14` | 否 | 整数 | 按源文档示例顺序传入 |
| 15 | `arg15` | 否 | 整数 | 按源文档示例顺序传入 |
### `matrixToArray(matrix)`
用途:将 Matrix 转换为数组。
参数个数:1
返回值:数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | -------- | ---- | -------- | ----------- |
| 1 | `matrix` | 是 | 矩阵 | Matrix 数据 |
### `arrayToFm(value, sample_value)`
用途:将数组转换为 FMArray,并按样例值确定单元格类型。
参数个数:2
返回值:FMArray
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | -------------- | ---- | -------- | ----------------------------------------------------------- |
| 1 | `value` | 是 | 数组 | 输入数组 |
| 2 | `sample_value` | 是 | 数值 | 单元格类型样例;如 `0` 生成整型单元格,`0.0` 生成浮点单元格 |
### `msize(value[, mode])`
用途:读取矩阵样数据或 FMArray 的尺寸信息。
参数个数:1 到 2
返回值:尺寸数组或索引数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | --------------------------------- | ----------------------------------------- |
| 1 | `value` | 是 | 矩阵样数据/FMArray/支持重载的对象 | 输入数据 |
| 2 | `mode` | 否 | 整数 | 省略时返回各维长度;传 `1` 时返回索引数组 |
### `mrows(value[, mode])`
用途:读取矩阵样数据或 FMArray 的行数或行索引。
参数个数:1 到 2
返回值:行数或行索引数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | --------------------------------- | --------------------------------------- |
| 1 | `value` | 是 | 矩阵样数据/FMArray/支持重载的对象 | 输入数据 |
| 2 | `mode` | 否 | 整数 | 省略时返回行数;传 `1` 时返回行索引数组 |
### `mcols(value[, mode])`
用途:读取矩阵样数据或 FMArray 的列数或列索引。
参数个数:1 到 2
返回值:列数或列索引数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | --------------------------------- | --------------------------------------- |
| 1 | `value` | 是 | 矩阵样数据/FMArray/支持重载的对象 | 输入数据 |
| 2 | `mode` | 否 | 整数 | 省略时返回列数;传 `1` 时返回列索引数组 |
### `getMatrixFields(matrix)`
用途:获取 Matrix 的字段(列名)列表。
参数个数:1
返回值:字段名数组
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | -------- | ---- | -------- | ----------- |
| 1 | `matrix` | 是 | 矩阵 | Matrix 数据 |
### `createBinary(size)`
用途:创建 Binary 缓冲区。
参数个数:1
返回值:Binary 数据
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | -------- |
| 1 | `size` | 是 | 整数 | 字节长度 |
### `convertDataToBuf(value, type_name)`
用途:按指定类型将数据编码为内存 Buffer。
参数个数:2
返回值:Binary Buffer
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ----------- | ---- | -------- | -------- |
| 1 | `value` | 是 | 实数 | 输入数据 |
| 2 | `type_name` | 是 | 字符串 | 类型名称 |
### `convertBufToData(buffer, type_name)`
用途:按指定类型将 Buffer 解码为数据。
参数个数:2
返回值:解析后的数据
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ----------- | ---- | -------- | ------------- |
| 1 | `buffer` | 是 | 任意值 | Binary Buffer |
| 2 | `type_name` | 是 | 字符串 | 类型名称 |
@@ -0,0 +1,160 @@
# 系统相关函数 - 数据类型转换函数
文档类型:函数事实页
是否可直接用于生成代码:是;本页函数条目均包含参数表
遇到不确定时:回到 [../system.md](../system.md)、[../../index.md](../../index.md)
## 数据类型转换函数
### `integer(value)`
用途:将数值转换为整数。
参数个数:1
返回值:整数
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | -------- |
| 1 | `value` | 是 | 数值 | 输入数值 |
### `int64(value)`
用途:将数值转换为 64 位整数。
参数个数:1
返回值:64 位整数
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | -------- |
| 1 | `value` | 是 | 数值 | 输入数值 |
### `real(value)`
用途:将数值转换为实数。
参数个数:1
返回值:实数
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | -------- |
| 1 | `value` | 是 | 数值 | 输入数值 |
### `string(value)`
用途:将数据转换为字符串。
参数个数:1
返回值:字符串
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | -------- |
| 1 | `value` | 是 | 任意值 | 输入数据 |
### `wideString(value)`
用途:将数据转换为 Unicode 字符串。
参数个数:1
返回值:Unicode 字符串
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | -------- |
| 1 | `value` | 是 | 字符串 | 输入数据 |
### `binary(value)`
用途:将数据转换为二进制流。
参数个数:1
返回值:Binary 数据
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | -------- |
| 1 | `value` | 是 | 字符串 | 输入数据 |
### `setPrecision(value, digits)`
用途:设置数值的小数精度。
参数个数:2
返回值:按精度处理后的数值
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | -------- | ---- | -------- | -------- |
| 1 | `value` | 是 | 数值 | 输入数值 |
| 2 | `digits` | 是 | 整数 | 小数位数 |
### `toSTM(value, mode, precision[, arg4])`
用途:将数据序列化为 STM 二进制流。
参数个数:3 到 4
返回值:STM 二进制流
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ----------- | ---- | -------- | -------------------- |
| 1 | `value` | 是 | 数组 | 输入数据 |
| 2 | `mode` | 是 | 整数 | 序列化模式(可选) |
| 3 | `precision` | 是 | 整数 | 小数位数(可选) |
| 4 | `arg4` | 否 | 整数 | 按源文档示例顺序传入 |
### `toSTN(value, digits)`
用途:将数值格式化为 STN 字符串。
参数个数:2
返回值:字符串
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | -------- | ---- | -------- | ---------------- |
| 1 | `value` | 是 | 数值 | 输入数值 |
| 2 | `digits` | 是 | 整数 | 小数位数(可选) |
### `exportCsv(data, out_text, include_index, include_header)`
用途:将数组导出为 CSV 格式字符串。
参数个数:4
返回值:是否成功(1/0
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ---------------- | ---- | -------- | ------------------------- |
| 1 | `data` | 是 | 数组 | 数组数据 |
| 2 | `out_text` | 是 | 字符串 | 输出字符串(引用返回) |
| 3 | `include_index` | 是 | 整数 | 是否包含下标(可选,1/0) |
| 4 | `include_header` | 是 | 整数 | 是否包含表头(可选,1/0) |
### `importCsv(csv_text, out_data, has_header)`
用途:将 CSV 字符串解析为数组。
参数个数:3
返回值:是否成功(1/0
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------------ | ---- | -------- | ------------------------- |
| 1 | `csv_text` | 是 | 字符串 | CSV 字符串 |
| 2 | `out_data` | 是 | 数组 | 输出数组(引用返回) |
| 3 | `has_header` | 是 | 整数 | 是否包含表头(可选,1/0) |
### `stm(value)`
用途:解析 STM 序列化数据。
参数个数:1
返回值:解析后的数据
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | ----------------- | -------- |
| 1 | `value` | 是 | 二进制数据/字符串 | STM 数据 |
### `stn(value)`
用途:解析 STN 数值字符串。
参数个数:1
返回值:数值
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | ---------- |
| 1 | `value` | 是 | 字符串 | STN 字符串 |
@@ -0,0 +1,18 @@
# 系统相关函数 - 复制函数
文档类型:函数事实页
是否可直接用于生成代码:是;本页函数条目均包含参数表
遇到不确定时:回到 [../system.md](../system.md)、[../../index.md](../../index.md)
## 复制函数
### `dupValue(value)`
用途:复制值,避免被调用函数修改原变量。
参数个数:1
返回值:复制后的值
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | ------ |
| 1 | `value` | 是 | 整数 | 输入值 |
@@ -0,0 +1,53 @@
# 系统相关函数 - 全局缓存函数
文档类型:函数事实页
是否可直接用于生成代码:是;本页函数条目均包含参数表
遇到不确定时:回到 [../system.md](../system.md)、[../../index.md](../../index.md)
## 全局缓存函数
### `setGlobalCache(name, value)`
用途:写入全局缓存。
参数个数:2
返回值:成功标记;成功时返回 `1`
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | ------------ |
| 1 | `name` | 是 | 字符串 | 缓存键 |
| 2 | `value` | 是 | 任意值 | 写入缓存的值 |
### `getGlobalCache(name, out_value)`
用途:按键读取全局缓存。
参数个数:2
返回值:成功标记;成功时返回 `1`
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ----------- | ---- | -------- | -------------------- |
| 1 | `name` | 是 | 字符串 | 缓存键 |
| 2 | `out_value` | 是 | 变量 | 输出变量,接收缓存值 |
### `ifCache(value)`
用途:判断值是否仍是全局缓存引用。
参数个数:1
返回值:布尔值
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | ---------- |
| 1 | `value` | 是 | 任意值 | 待判断的值 |
### `checkGlobalCacheExpired(value)`
用途:判断全局缓存引用是否已经过期。
参数个数:1
返回值:布尔值;未过期返回 `0`,过期返回 `1`
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | ------------------------------------ |
| 1 | `value` | 是 | 缓存引用 | `getGlobalCache(...)` 取出的缓存引用 |
@@ -0,0 +1,39 @@
# 系统相关函数 - 随机函数
文档类型:函数事实页
是否可直接用于生成代码:是;本页函数条目均包含参数表
遇到不确定时:回到 [../system.md](../system.md)、[../../index.md](../../index.md)
## 随机函数
### `randomize()`
用途:随机函数相关函数。
参数个数:0
返回值:处理结果
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | ---- |
### `random([value])`
用途:生成随机数。
参数个数:0 到 1
返回值:随机实数或随机整数
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | -------------------- |
| 1 | `value` | 否 | 整数 | value 为上限(可选) |
### `randomFrom(items)`
用途:从数组中随机取一个元素。
参数个数:1
返回值:随机元素
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | -------- |
| 1 | `items` | 是 | 数组 | 候选数组 |
@@ -0,0 +1,20 @@
# 系统相关函数 - 条件选择函数
文档类型:函数事实页
是否可直接用于生成代码:是;本页函数条目均包含参数表
遇到不确定时:回到 [../system.md](../system.md)、[../../index.md](../../index.md)
## 条件选择函数
### `ifThen(condition, true_value, false_value)`
用途:条件成立返回 true_value,否则返回 false_value。
参数个数:3
返回值:true_value 或 false_value
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------------- | ---- | -------- | ------------------ |
| 1 | `condition` | 是 | 整数 | 判断条件 |
| 2 | `true_value` | 是 | 整数 | 条件成立时返回值 |
| 3 | `false_value` | 是 | 整数 | 条件不成立时返回值 |
@@ -0,0 +1,72 @@
# 系统相关函数 - 表达式相关函数
文档类型:函数事实页
是否可直接用于生成代码:是;本页函数条目均包含参数表
遇到不确定时:回到 [../system.md](../system.md)、[../../index.md](../../index.md)
## 表达式相关函数
### `eval(expr)`
用途:计算表达式或表达式字符串并返回结果。
参数个数:1
返回值:表达式计算结果
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | ------------------------------ |
| 1 | `expr` | 是 | 字符串 | 表达式(@)或表达式字符串(&) |
### `call(func, args)`
用途:按函数名字符串或函数指针调用函数。
参数个数:2
返回值:函数返回值
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | ---------------------- |
| 1 | `func` | 是 | 字符串 | 函数名字符串或函数指针 |
| 2 | `args` | 是 | 整数 | 调用参数列表 |
### `callInArray(func, args)`
用途:以参数数组调用指定函数(含函数名或函数变量)。
参数个数:2
返回值:函数调用结果
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | ---------------------- |
| 1 | `func` | 是 | 字符串 | 函数名字符串或函数指针 |
| 2 | `args` | 是 | 数组 | 参数数组 |
### `invoke(obj, name, mode, args[, arg5][, arg6])`
用途:调用对象成员方法或设置成员属性。
参数个数:4 到 6
返回值:调用结果或设置结果
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | ----------- | ---------------------- |
| 1 | `obj` | 是 | 任意值 | 目标对象 |
| 2 | `name` | 是 | 字符串 | 成员名 |
| 3 | `mode` | 是 | 整数 | 0 调用方法;1 设置成员 |
| 4 | `args` | 是 | 字符串/整数 | 方法参数或设置值 |
| 5 | `arg5` | 否 | 字符串 | 按源文档示例顺序传入 |
| 6 | `arg6` | 否 | 字符串 | 按源文档示例顺序传入 |
### `invokeinarray(obj, name, mode, args)`
用途:以参数数组调用对象成员方法或设置成员属性。
参数个数:4
返回值:调用结果或设置结果
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | ---------------------- |
| 1 | `obj` | 是 | 任意值 | 目标对象 |
| 2 | `name` | 是 | 字符串 | 成员名 |
| 3 | `mode` | 是 | 整数 | 0 调用方法;1 设置成员 |
| 4 | `args` | 是 | 数组 | 参数数组 |
@@ -0,0 +1,29 @@
# 系统相关函数 - 性能优化相关函数
文档类型:函数事实页
是否可直接用于生成代码:是;本页函数条目均包含参数表
遇到不确定时:回到 [../system.md](../system.md)、[../../index.md](../../index.md)
## 性能优化相关函数
### `setProfiler(flags)`
用途:设置性能分析开关与统计范围。
参数个数:1
返回值:无
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------- | ---- | -------- | -------------- |
| 1 | `flags` | 是 | 整数 | 统计选项位掩码 |
### `getProfilerInfo(mode)`
用途:获取性能分析信息。
参数个数:1
返回值:性能分析信息
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | --------------------------- |
| 1 | `mode` | 是 | 整数 | 可选;传 1 仅返回信息不弹窗 |
@@ -0,0 +1,38 @@
# 系统相关函数 - 函数库路径
文档类型:函数事实页
是否可直接用于生成代码:是;本页函数条目均包含参数表
遇到不确定时:回到 [../system.md](../system.md)、[../../index.md](../../index.md)
## 函数库路径
### `tslfilename()`
用途:获取正在执行的 `.tsl` 主脚本完整路径。
参数个数:0
返回值:字符串
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | ---- |
### `sysgettsllibpath()`
用途:获取当前函数库查找路径。
参数个数:0
返回值:当前查找路径字符串
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ------ | ---- | -------- | ---- |
### `syssettsllibpath(path_list)`
用途:设置函数库查找路径(支持分号分隔的多个目录)。
参数个数:1
返回值:设置前的查找路径字符串
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | ----------- | ---- | -------- | -------------------------- |
| 1 | `path_list` | 是 | 字符串 | 路径列表字符串(分号分隔) |
@@ -0,0 +1,27 @@
# 系统相关函数 - 错误与断言函数
文档类型:函数事实页
是否可直接用于生成代码:是;本页函数条目均包含参数表
遇到不确定时:回到 [../system.md](../system.md)、[../../index.md](../../index.md)
## 错误与断言函数
### `assert(check, error_message)`
用途:断言 `check` 是否为真值;为真时返回 `0` 并继续执行,为假时抛出 `error_message` 指定的运行时错误。
参数个数:2
返回值:整数;断言通过时返回 `0`,断言失败时不返回而是抛出错误
| 参数位置 | 参数名 | 必填 | 接收类型 | 说明 |
| -------- | --------------- | ---- | ------------- | --------------------------------------- |
| 1 | `check` | 是 | 任意值/表达式 | 按 TSL 真值规则判断;真值通过,假值失败 |
| 2 | `error_message` | 是 | 字符串 | 断言失败时抛出的错误信息 |
生成规则:
- 只在需要主动校验前置条件、输入约束或不可继续执行的状态时生成。
- `check` 可以是逻辑判断表达式,例如 `1 = 1``3 > 2``(3 > 2) and (2 < 4)`
- 真值示例:`1``true``-1``0.5``"abc"``array(1)`;通过时返回 `0`
- 假值示例:`0``false``nil``""``array()`;失败时直接抛出 `error_message`
- 断言失败不会把错误信息作为普通返回值交给调用方继续执行。