² 表达式函数的格式如下:
函数名(参数1,参数2,…)
函数名
| 函数名称唯一标识一个函数
函数名称由函数类别名和函数名组成:
函数类别名.函数名
通过使用函数类别可以更好的区分函数,同时能够更好的理解函数意义,比如:
Time.ToStr 表示把一个时间对象格式化为一个字符串对象
函数名称大小写无关,较为通用的部分函数不使用函数类别名
|
参数
| 函数参数可以为指定的数据类型,一个参数可以支持多种数据类型,不同的数据类型可能适用于不同的情况(参考函数定义)
函数参数可以为常量、变量、其他函数或任意复杂的表达式
函数类型可以定义为以下方式:
I 整型(单个类型)
I/S/D/B 整型,字符型,浮点型,布尔型中的任何一种
Val 必须为变量
Any 可以为任何数据类型
Exp 任意的表达式
函数参数个数可能是不确定的,引擎依据函数定义的规则自动处理不同数目的参数,并在参数数目错误时自动报错
|
返回
| 每个函数必须有返回值,返回值可以为任意数据类型,和参数相似,一个函数可能有多种返回数据类型,在某些函数中可能会返回N型,Null型表示不存在任何数据,函数定义文档描述了哪些函数会返回Null,针对N返回类型需要使用Val.isType函数进行判断
|
运算顺序
| 函数的运算通常情况下依照从左到右的顺序依次计算参数,如果函数有明确申明的运算顺序,依照函数实际的运算顺序进行运算;
|
异常
| 函数在解析执行过程中可能会抛出异常(比如数据错误),抛出异常后当前表达式的所有后续运算都不会被执行,如果函数在计算参数时抛出异常,函数本身有可能不会被执行,因此抛出异常情况下函数实际执行的状况是不能在执行前被确定的,除非能够确定异常从何处产生并抛出,函数抛出的异常会被引擎记录,并可以通过后续表达式(Exp类函数)获得
|
提示
表达式函数是可以自由扩展的,第三方软件供应商或终端用户自身都可以扩展表达式函数,参考相关的开发文档获得扩展函数开发的更多信息;
参考
参考附录中的表达式函数表获得更多函数的详细信息;
参考Extraction平台演示流程获得更多关于如何使用函数的信息;