2

我正在使用 HP Exstream(以前来自 Exstream Software 的 Dialogue)版本 5.0.x。它具有将布尔表达式定义和保存为“规则”的功能。

我使用这个已经大约 6 年了,但是有人知道你是否可以根据另一个规则来定义一个规则吗?弹出窗口中有一种“类似 VB”的语言,因此您不必被迫使用和/或变量关系表达式形式,但我手边没有文档。:-(

我想用“Foo”来定义一个规则“NotFoo”,而不是重复整个事情的反面。(是的,这将是迟钝的,但这可能是我将被迫做的事情,就像我维护的其他示例一样。)实际上,如果我能弄清楚如何做到这一点,嵌套规则将有很多用途。

4

2 回答 2

1

后来我发现在这种情况下需要做的是创建用户定义的“函数”,它们可以相互引用(只要避免间接递归)。然后,使用这些函数来定义“规则”(并且,大多数时候,甚至不用“库”规则而不是“内联”规则)。

于 2010-09-11T23:41:35.637 回答
1

我迟到了这个问题,但是由于您必须自己回答,因此有更好的方法来处理它。

使用函数和测试结果的问题在于,您很有可能会添加不必要的处理,因为引擎每次调用时都会运行函数。简单的函数不是什么大问题,但如果函数很复杂,尤其是在多个地方调用它时,它很容易成为问题。

根据函数的时间(你没有说它是运行级别、客户级别还是特定于特定文档),通常最好让函数设置一个用户布尔变量来存储结果然后在你的库中规则您可以只检查变量的值,而不必每次都运行该函数。

于 2018-09-03T18:58:30.130 回答