来自文档:
逻辑顺序
模式不仅匹配到达时间顺序的事件,而且匹配它 还可以关联具有逻辑关系的事件。
关键字"和"和"或"可以使用" - >"至 说明逻辑关系。
我有两个问题:
当我混合"和","或"和" - >"在一个事件中,这是如何评估的?它只是左或右关联,还是3个运算符有不同的优先级?说我有" A和B - > C或D",这被评估为"((A和B) - > C)或D"," A和(B->(C或D))& #34;或其他完全不同的东西?
作为后续问题,我是否可以在触发器中明确使用括号来强制解释触发器的方式?文档没有提到它,但siddhi允许我用括号创建一些触发器,例如" A - > (B或C) - > d"被接受(尽管"(A-> B)或(C-> D)"不是)。这是否具有预期的效果,以及何时可以添加括号的具体规则是什么?
答案 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。