Siddhi逻辑模式中运算符的优先级

时间:2017-05-10 16:17:21

标签: siddhi

来自文档:

  

逻辑顺序

     

模式不仅匹配到达时间顺序的事件,而且匹配它   还可以关联具有逻辑关系的事件。

     

关键字"和"和"或"可以使用" - >"至   说明逻辑关系。

我有两个问题:

  1. 当我混合"和","或"和" - >"在一个事件中,这是如何评估的?它只是左或右关联,还是3个运算符有不同的优先级?说我有" A和B - > C或D",这被评估为"((A和B) - > C)或D"," A和(B->(C或D))& #34;或其他完全不同的东西?

  2. 作为后续问题,我是否可以在触发器中明确使用括号来强制解释触发器的方式?文档没有提到它,但siddhi允许我用括号创建一些触发器,例如" A - > (B或C) - > d"被接受(尽管"(A-> B)或(C-> D)"不是)。这是否具有预期的效果,以及何时可以添加括号的具体规则是什么?

1 个答案:

答案 0 :(得分:0)

"A and B -> C or D"将匹配A和B以任何顺序(A->B) or (B->A)到达,然后C或D到达。

您不能以任何顺序使用嵌套,当我们添加每个关键字时,嵌套是有意义的,即对于您希望模式匹配重复的每个序列/事件。

E.g every(A->B)->C这里每个A后跟B应该有一个C. 如果存在A1,C1,A2,B2,B3,C2,C3等事件,则上述仅匹配A1,B2,C2。