表达式计算器#
Expression Evaluator任务是默认提供的功能最强大的任务之一。它可以用于对输入执行多个运算,以生成输出。它可以使用mathjs引擎、XPath和正则表达式执行运算,也可以用于对表达式求值,直到其中一个输出得到布尔true结果为止(就像“if else”条件语句一样)。
输入#
| 名称 | 数据类型 | 是否是触发器 | 描述 |
|---|---|---|---|
<custom list> | <custom> | 是 | 用于执行操作以生成输出的值类型 |
| 激活 | any | 是 | 激活任务 |
输出#
| 名称 | 数据类型 | 描述 |
|---|---|---|
<custom list> | <custom> | 用于执行操作以生成输出的值类型 |
| 错误 | Error | 处理此任务期间发生的错误 |
设置#
在“常规”选项卡上,您有常用设置和以下设置:
| 名称 | 数据类型 | 值 | 默认值 | 描述 |
|---|---|---|---|---|
| 表达式类型 | enum | GenericXPathRegularExpression | Generic | 可以求值的表达式类型 |
| 计算器行为 | enum | EvaluateAllEvaluateUntilTrue | EvaluateAll | 对表达式求值时任务可以具有的不同逻辑类型 |
| 清除输入 | Boolean | false | 触发后,将重置输入 |
在“输入”选项卡上,您有以下设置:
| 名称 | 数据类型 | 默认值 | 描述 |
|---|---|---|---|
| 名称 | String | 输入名称。 | |
| 类型 | LongDecimalDateTimeBooleanStringInteger | 输入值的类型。 | |
| 集合类型 | NoneArrayMap | ||
| 默认值 | any | 输入参数的默认值。 |
在“输出”选项卡上,您有以下设置:
| 名称 | 数据类型 | 默认值 | 描述 |
|---|---|---|---|
| 名称 | String | 输出名称。 | |
| 类型 | LongDecimalDateTimeBooleanStringInteger | 输出值的类型。 | |
| 集合类型 | NoneArrayMap | ||
| 表达式 | any | 要应用于输入的操作。 |
Note
为了进行测试,您还有一个输入。您可以尝试使用虚拟输入值来对表达式求值。
行为#
Generic Type将使用mathjs engine,这是一个用于javascript的数学库,因此可以使用数学运算以及一些原生javascript脚本。XPath类型会在给定对象中搜索路径,并返回与所述路径对应的值或值数组。Regular Expression类型会将正则表达式应用于输入值,并返回与表达式结果对应的值或值数组。如果Clear Inputs为true,将在触发任务后重置输入。当表达式返回true值时,EvaluateUntilTrue将第一个值输出为true,而EvaluateAll则会对每个表达式输出求值并发出所有值。
提示:您可以在https://jsbin.com/devacu/edit?html,js,output上测试
mathjs expression,也可以在http://mathjs.org/docs/expressions/syntax.html和http://mathjs.org/docs/reference/functions.html ⧉上查看提供的文档。
备注#
此任务是一个非常强大的工具,可用于对输入值执行各种运算,虽然mathjs包含一些典型的javascript函数,但mathjs并不是一个javascript引擎,因此原生javascript代码可能可以在mathjs引擎上工作,也可能不起作用。



