541 lines
15 KiB
Markdown
541 lines
15 KiB
Markdown
# Builtin - 系统相关函数
|
|
|
|
## 函数
|
|
|
|
### `dataType(value, mode)`
|
|
|
|
返回数据类型编号,支持数组遍历模式。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | ------------------------------------------------------- |
|
|
| `value` | any | 输入数据 |
|
|
| `mode` | any | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
|
|
|
|
返回:array
|
|
|
|
### `ifInt(value, mode)`
|
|
|
|
判断是否为 32 位整数类型。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ----- | ------------------------------------------------------- |
|
|
| `value` | array | 输入数据 |
|
|
| `mode` | any | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
|
|
|
|
返回:bool
|
|
|
|
### `ifInt64(value, mode)`
|
|
|
|
判断是否为 64 位整数类型。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | ------------------------------------------------------- |
|
|
| `value` | any | 输入数据 |
|
|
| `mode` | any | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
|
|
|
|
返回:bool
|
|
|
|
### `ifReal(value, mode)`
|
|
|
|
判断是否为 实数类型。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ----- | ------------------------------------------------------- |
|
|
| `value` | array | 输入数据 |
|
|
| `mode` | any | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
|
|
|
|
返回:bool
|
|
|
|
### `ifNumber(value, mode)`
|
|
|
|
判断是否为 数字(整数或实数)类型。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ----- | ------------------------------------------------------- |
|
|
| `value` | array | 输入数据 |
|
|
| `mode` | any | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
|
|
|
|
返回:bool
|
|
|
|
### `ifString(value, mode)`
|
|
|
|
判断是否为 字符串类型。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ----- | ------------------------------------------------------- |
|
|
| `value` | array | 输入数据 |
|
|
| `mode` | any | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
|
|
|
|
返回:bool
|
|
|
|
### `ifArray(value, mode)`
|
|
|
|
判断是否为 数组类型。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | ------------------------------------------------------- |
|
|
| `value` | any | 输入数据 |
|
|
| `mode` | any | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
|
|
|
|
返回:bool
|
|
|
|
### `ifNil(value, mode)`
|
|
|
|
判断是否为 Nil类型。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | ------------------------------------------------------- |
|
|
| `value` | any | 输入数据 |
|
|
| `mode` | any | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
|
|
|
|
返回:bool
|
|
|
|
### `ifNone(value[, tag])`
|
|
|
|
判断对象 `operator[1]` 多级下标写入时传入的 None 标记值。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | ------------------------------------------------ |
|
|
| `value` | void | `operator[1]` 中间层或回滚层传入的 None 值 |
|
|
| `tag` | any | None 标记值;中间层第一层为 `0`,回滚标记为 `-1` |
|
|
|
|
返回:bool
|
|
|
|
### `ifExp(value, mode)`
|
|
|
|
判断是否为 表达式类型。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | ------------------------------------------------------- |
|
|
| `value` | any | 输入数据 |
|
|
| `mode` | any | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
|
|
|
|
返回:bool
|
|
|
|
### `ifGraph(value)`
|
|
|
|
判断是否为 图形类型。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | -------- |
|
|
| `value` | any | 输入数据 |
|
|
|
|
返回:bool
|
|
|
|
### `ifGraphGroup(value)`
|
|
|
|
判断是否为 图形组类型。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | -------- |
|
|
| `value` | any | 输入数据 |
|
|
|
|
返回:bool
|
|
|
|
### `ifBinary(value, mode)`
|
|
|
|
判断是否为 二进制/Buffer类型。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | ------------------------------------------------------- |
|
|
| `value` | any | 输入数据 |
|
|
| `mode` | any | 遍历模式(可选;-1 对第一维逐项判断;1 对每个元素判断) |
|
|
|
|
返回:bool
|
|
|
|
### `ifMatrix(value)`
|
|
|
|
判断是否为 Matrix类型。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | -------- |
|
|
| `value` | any | 输入数据 |
|
|
|
|
返回:bool
|
|
|
|
### `ifFmarray(value)`
|
|
|
|
判断是否为 FMArray 类型。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | -------- |
|
|
| `value` | any | 输入数据 |
|
|
|
|
返回:bool
|
|
|
|
### `ifObj(value)`
|
|
|
|
判断是否为对象类型。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | -------- |
|
|
| `value` | any | 输入数据 |
|
|
|
|
返回:bool
|
|
|
|
### `createBinary(size)`
|
|
|
|
创建 Binary 缓冲区。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------ | ---- | -------- |
|
|
| `size` | any | 字节长度 |
|
|
|
|
返回:binary
|
|
|
|
## 复制函数
|
|
|
|
### `dupValue(value)`
|
|
|
|
复制值,避免被调用函数修改原变量。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | ------ |
|
|
| `value` | any | 输入值 |
|
|
|
|
返回:any
|
|
|
|
## 条件选择函数
|
|
|
|
### `ifThen(condition, true_value, false_value)`
|
|
|
|
条件成立返回 true_value,否则返回 false_value。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------- | ---- | ------------------ |
|
|
| `condition` | any | 判断条件 |
|
|
| `true_value` | any | 条件成立时返回值 |
|
|
| `false_value` | any | 条件不成立时返回值 |
|
|
|
|
返回:bool
|
|
|
|
## 数据类型转换函数
|
|
|
|
### `integer(value)`
|
|
|
|
将数值转换为整数。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ----- | -------- |
|
|
| `value` | float | 输入数值 |
|
|
|
|
返回:any
|
|
|
|
### `int64(value)`
|
|
|
|
将数值转换为 64 位整数。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ----- | -------- |
|
|
| `value` | float | 输入数值 |
|
|
|
|
返回:any
|
|
|
|
### `real(value)`
|
|
|
|
将数值转换为实数。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ----- | -------- |
|
|
| `value` | float | 输入数值 |
|
|
|
|
返回:float
|
|
|
|
### `wideString(value)`
|
|
|
|
将数据转换为 Unicode 字符串。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ------ | -------- |
|
|
| `value` | string | 输入数据 |
|
|
|
|
返回:string
|
|
|
|
### `binary(value)`
|
|
|
|
将数据转换为二进制流。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ------ | -------- |
|
|
| `value` | string | 输入数据 |
|
|
|
|
返回:binary
|
|
|
|
### `setPrecision(value, digits)`
|
|
|
|
设置数值的小数精度。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| -------- | ----- | -------- |
|
|
| `value` | float | 输入数值 |
|
|
| `digits` | any | 小数位数 |
|
|
|
|
返回:float
|
|
|
|
### `toStm(value, mode, precision[, arg4])`
|
|
|
|
将数据序列化为 STM 二进制流。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ----------- | ----- | ------------------ |
|
|
| `value` | array | 输入数据 |
|
|
| `mode` | any | 序列化模式(可选) |
|
|
| `precision` | any | 小数位数(可选) |
|
|
| `arg4` | any | |
|
|
|
|
返回:binary
|
|
|
|
### `toStn(value, digits)`
|
|
|
|
将数值格式化为 STN 字符串。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| -------- | ----- | ---------------- |
|
|
| `value` | float | 输入数值 |
|
|
| `digits` | any | 小数位数(可选) |
|
|
|
|
返回:string
|
|
|
|
### `exportCsv(data, out_text, include_index, include_header)`
|
|
|
|
将数组导出为 CSV 格式字符串。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ---------------- | ------ | ------------------------- |
|
|
| `data` | array | 数组数据 |
|
|
| `out_text` | string | 输出字符串(引用返回) |
|
|
| `include_index` | any | 是否包含下标(可选,1/0) |
|
|
| `include_header` | any | 是否包含表头(可选,1/0) |
|
|
|
|
返回:array
|
|
|
|
### `stn(v)`
|
|
|
|
解析 STN 数值字符串。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ---- | ------ | ---------- |
|
|
| `v` | string | STN 字符串 |
|
|
|
|
返回:string
|
|
|
|
## 全局缓存函数
|
|
|
|
### `ifCache(value)`
|
|
|
|
判断值是否仍是全局缓存引用。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | ---------- |
|
|
| `value` | any | 待判断的值 |
|
|
|
|
返回:bool
|
|
|
|
## 随机函数
|
|
|
|
### `randomize()`
|
|
|
|
随机函数相关函数。
|
|
|
|
返回:any
|
|
|
|
### `random([value])`
|
|
|
|
生成随机数。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | -------------------- |
|
|
| `value` | any | value 为上限(可选) |
|
|
|
|
返回:float
|
|
|
|
### `randomFrom(avalues)`
|
|
|
|
从数组中随机取一个元素。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| --------- | ----- | -------- |
|
|
| `avalues` | array | 候选数组 |
|
|
|
|
返回:array
|
|
|
|
## 表达式相关函数
|
|
|
|
### `tslfilename()`
|
|
|
|
获取正在执行的 `.tsl` 主脚本完整路径。
|
|
|
|
返回:string
|
|
|
|
### `sysgettsllibpath()`
|
|
|
|
获取当前函数库查找路径。
|
|
|
|
返回:string
|
|
|
|
## 错误与断言函数
|
|
|
|
### `assert(check, error_message)`
|
|
|
|
断言 `check` 是否为真值;为真时返回 `0` 并继续执行,为假时抛出 `error_message` 指定的运行时错误。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| --------------- | ------ | --------------------------------------- |
|
|
| `check` | any | 按 TSL 真值规则判断;真值通过,假值失败 |
|
|
| `error_message` | string | 断言失败时抛出的错误信息 |
|
|
|
|
返回:any
|
|
|
|
## 性能优化相关函数
|
|
|
|
### `setProfiler(flags)`
|
|
|
|
设置性能分析开关与统计范围。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | -------------- |
|
|
| `flags` | any | 统计选项位掩码 |
|
|
|
|
返回:void
|
|
|
|
### `getProfilerInfo(mode)`
|
|
|
|
获取性能分析信息。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------ | ---- | --------------------------- |
|
|
| `mode` | any | 可选;传 1 仅返回信息不弹窗 |
|
|
|
|
返回:any
|
|
|
|
## 数据类型函数
|
|
|
|
### `ifGraph(value, n)`
|
|
|
|
判断value是否是一个图形类型。可通过可选参数N对数组中的行或元素进行判断。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | -------------------------------- |
|
|
| `value` | any | 任意类型数据 |
|
|
| `n` | any | 可选参数,整数。具体参考返回说明 |
|
|
|
|
返回:bool
|
|
|
|
### `ifGraphgroup(value, n)`
|
|
|
|
判断value是否是一个图形组合类型。可通过可选参数N对数组中的行或元素进行判断。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | -------------------------------- |
|
|
| `value` | any | 任意类型数据 |
|
|
| `n` | any | 可选参数,整数。具体参考返回说明 |
|
|
|
|
返回:bool
|
|
|
|
### `ifMatrix(value, n)`
|
|
|
|
判断value是否是一个Matrix类型。可通过可选参数N对数组中的行或元素进行判断。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | -------------------------------- |
|
|
| `value` | any | 任意类型数据 |
|
|
| `n` | any | 可选参数,整数。具体参考返回说明 |
|
|
|
|
返回:bool
|
|
|
|
### `ifObj(value, n)`
|
|
|
|
判断value是否是一个ComObj对象或者一个TSL的对象类型。可通过可选参数N对数组中的行或元素进行判断。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ---- | -------------------------------- |
|
|
| `value` | any | 任意类型数据 |
|
|
| `n` | any | 可选参数,整数。具体参考返回说明 |
|
|
|
|
返回:bool
|
|
|
|
### `getOleObject(class_name, method, obj)`
|
|
|
|
获取一个ComObj对象类型。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------ | ------ | ------------------------------------------------------------------------------------------------------------- |
|
|
| `class_name` | string | 字符串,对象的类名。 |
|
|
| `method` | any | 整数,产生方法的方法,1:获取一个存在的对象,2:新建一个对象,其他值:如果存在则获取一个存在对象,不存在则创建。 |
|
|
| `obj` | object | 保存返回的对象。 |
|
|
|
|
返回:bool
|
|
|
|
## 数据类型转换函数
|
|
|
|
### `importCsv(csv_str, data, include_index, include_header, single_arr)`
|
|
|
|
将指定csv格式字符串csvStr转换为数组,并存储在Data参数中。 支持范围:新一代TSL支持。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ---------------- | ------ | ------------------------------------ |
|
|
| `csv_str` | string | 字符串类型,csv格式字符串。 |
|
|
| `data` | array | 数组类型,转换成功的数组(输出值)。 |
|
|
| `include_index` | bool | object |
|
|
| `include_header` | bool | object |
|
|
| `single_arr` | bool | object |
|
|
|
|
返回:array
|
|
|
|
## 表达式相关函数
|
|
|
|
### `arrayToFm(value, sample_value)`
|
|
|
|
将数组转换为 FMArray,并按样例值确定单元格类型。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| -------------- | ----- | ----------------------------------------------------------- |
|
|
| `value` | array | 输入数组 |
|
|
| `sample_value` | float | 单元格类型样例;如 `0` 生成整型单元格,`0.0` 生成浮点单元格 |
|
|
|
|
返回:array
|
|
|
|
### `importCsv(csv_text, out_data, has_header)`
|
|
|
|
将 CSV 字符串解析为数组。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------------ | ------ | ------------------------- |
|
|
| `csv_text` | string | CSV 字符串 |
|
|
| `out_data` | array | 输出数组(引用返回) |
|
|
| `has_header` | any | 是否包含表头(可选,1/0) |
|
|
|
|
返回:array
|
|
|
|
### `stm(value)`
|
|
|
|
解析 STM 序列化数据。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ------ | ------ |
|
|
| `value` | string | binary |
|
|
|
|
返回:any
|
|
|
|
### `setGlobalCache(name, value)`
|
|
|
|
写入全局缓存。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ------- | ------ | ------------ |
|
|
| `name` | string | 缓存键 |
|
|
| `value` | any | 写入缓存的值 |
|
|
|
|
返回:any
|
|
|
|
### `getGlobalCache(name, out_value)`
|
|
|
|
按键读取全局缓存。
|
|
|
|
| 参数 | 类型 | 说明 |
|
|
| ----------- | ------ | -------------------- |
|
|
| `name` | string | 缓存键 |
|
|
| `out_value` | any | 输出变量,接收缓存值 |
|
|
|
|
返回:any
|