注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。

在 Workshop 中使用函数

在 Workshop 模块中,函数可以以多种方式使用。基于函数的操作使模块能够触发复杂的对象编辑和数据输出。像指标卡片这样的微件可以允许函数的输出在模块内显示,以帮助引导用户的决策。

Workshop 中的基于函数的操作

在 Ontology 管理器中定义新的操作类型时,可以将函数用作操作类型的规则逻辑的一部分。这通常有助于在一个操作类型中实现比内置选项(如添加对象、删除对象、修改对象、添加链接或删除链接)更复杂的数据输出。了解更多关于如何定义基于函数的操作类型。

一旦定义了一个基于函数的操作类型,它就可以像任何其他操作类型一样在 Workshop 中使用。了解更多关于如何在 Workshop 中公开操作类型。

Workshop 中的基于函数的变量

函数还可以在 Workshop 中用于填充模块中变量的值。下面将通过一个假设的示例,演示如何创建一个新的数字变量,并使用一个计算两个机场之间航班数量的函数的输出来填充它。

请注意,此示例仅供说明,您可能无法完成所有步骤。由于您的 Foundry Ontology 是根据您的需求和数据定制的,您可能无法访问完成本教程所需的 Ontology 对象。

首先,让我们看一下将在我们的 Workshop 模块中调用的函数。如下面所示,该函数被称为 flightsFromAirportToDestination。它接受一个机场对象(起始机场)和一个字符串(目的机场的三字机场代码)作为输入,然后返回一个代表这些机场之间航班数量的数字。

Copied!
1 2 3 4 5 6 7 8 @Function() public flightsFromAirportToDestination(airport: AirportObject, destinationAirportCode: string): Integer { return airport.flightDestinationAirportLinkFlightObject.all() // 过滤出目的地机场代码与参数destinationAirportCode相同的航班 .filter(flight => flight.arrivalAirportCode === destinationAirportCode) // 计算符合条件的航班数量 .length; }

接下来,让我们开始在我们的Workshop模块中连接这个函数。我们的目标是从模块中传入函数输入(一个Airport对象和一个字符串),然后在模块中显示函数输出(一个数字)。

首先,从屏幕左下角的变量菜单中创建一个新的数字变量。打开变量菜单,选择添加变量,然后选择数字,如下图所示。

将鼠标悬停在新创建的变量上,该变量应该有一个默认名称,例如$var1,点击出现的编辑图标(铅笔),以打开变量编辑菜单。

在上述步骤中,将值生成切换到函数选项,然后配置一个函数作为此变量的输入。

基于函数的变量使用结果缓存。如果提供相同的输入,返回的结果将来自缓存而不是新的计算。目前,没有选项可以禁用缓存的使用。如果您需要新的输出,请考虑将一个数值“熵”变量与函数的其他参数一起传递,该变量将由Workshop中的设置变量值事件递增填充。

选择**fx...**按钮以选择此处的现有函数。在下面的截图中,视图已筛选为仅显示标题中包含Flight的函数。

在选择所需的函数之后——在本例中为flightsFromAirportToDestination函数——填写出现的函数输入。下面的例子展示了一个完整的配置,其中flightsFromAirportToDestination函数从我们的Workshop模块中获取两个变量输入——机场变量获取模块的Airport对象表中的当前活动对象,destinationAirportCode变量由用户输入的字符串变量目的地机场填充。

要查看此函数在Workshop模块中向用户展示的输出,请继续阅读下面的指标卡片与函数部分。

指标卡片与函数

指标卡片微件为搭建者提供了一种在其模块中显示关键信息的方法。这里显示的统计信息可以由函数生成。在指标卡片配置中,我们可以设置一个给定的指标从我们在上面步骤中定义的函数支持的航班数量数字变量中填充。

下面的截图显示了右侧带有函数支持的指标卡片的模块结果。当用户在左侧的Object表(起始机场)和右侧的字符串输入(目的地机场)中更改选择时,指标卡片将根据我们的函数动态更新,并显示所选机场之间的航班数量。在此案例中,我们选择FLL作为起始机场,JFK作为目的地机场,并看到这两个机场之间有139个已知航班。