Files
playbook/docs/tsl/codegen/builtin/system.md
T

15 KiB
Raw Blame History

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