跳转至

表达式计算器#

image45

Expression Evaluator任务是默认提供的功能最强大的任务之一。它可以用于对输入执行多个运算,以生成输出。它可以使用mathjs引擎、XPath和正则表达式执行运算,也可以用于对表达式求值,直到其中一个输出得到布尔true结果为止(就像“if else”条件语句一样)。

image47

输入#

名称 数据类型 是否是触发器 描述
<custom list> <custom> 用于执行操作以生成输出的值类型
激活 any 激活任务

输出#

名称 数据类型 描述
<custom list> <custom> 用于执行操作以生成输出的值类型
错误 Error 处理此任务期间发生的错误

设置#

在“常规”选项卡上,您有常用设置和以下设置:

名称 数据类型 默认值 描述
表达式类型 enum Generic
XPath
RegularExpression
Generic 可以求值的表达式类型
计算器行为 enum EvaluateAll
EvaluateUntilTrue
EvaluateAll 对表达式求值时任务可以具有的不同逻辑类型
清除输入 Boolean false 触发后,将重置输入

image48

在“输入”选项卡上,您有以下设置:

名称 数据类型 默认值 描述
名称 String 输入名称。
类型 Long
Decimal
DateTime
Boolean
String
Integer
输入值的类型。
集合类型 None
Array
Map
默认值 any 输入参数的默认值。

image49

在“输出”选项卡上,您有以下设置:

名称 数据类型 默认值 描述
名称 String 输出名称。
类型 Long
Decimal
DateTime
Boolean
String
Integer
输出值的类型。
集合类型 None
Array
Map
表达式 any 要应用于输入的操作。

image50

Note

为了进行测试,您还有一个输入。您可以尝试使用虚拟输入值来对表达式求值。

行为#

Generic Type将使用mathjs engine,这是一个用于javascript的数学库,因此可以使用数学运算以及一些原生javascript脚本。XPath类型会在给定对象中搜索路径,并返回与所述路径对应的值或值数组。Regular Expression类型会将正则表达式应用于输入值,并返回与表达式结果对应的值或值数组。如果Clear Inputstrue,将在触发任务后重置输入。当表达式返回true值时,EvaluateUntilTrue将第一个值输出为true,而EvaluateAll则会对每个表达式输出求值并发出所有值。

提示:您可以在https://jsbin.com/devacu/edit?html,js,output上测试mathjs expression,也可以在http://mathjs.org/docs/expressions/syntax.htmlhttp://mathjs.org/docs/reference/functions.html ⧉上查看提供的文档。

备注#

此任务是一个非常强大的工具,可用于对输入值执行各种运算,虽然mathjs包含一些典型的javascript函数,但mathjs并不是一个javascript引擎,因此原生javascript代码可能可以在mathjs引擎上工作,也可能不起作用。