【发布时间】:2014-05-28 02:23:36
【问题描述】:
在 XQuery 中哪个操作更相关:AND 或 OR?
例如:(a and b or c) 等于 1 o 2?
- (a 和 b)或 c
- a 和(b 或 c)
干杯, 黛博拉
【问题讨论】:
-
我不知道 xquery 但 THIS 说应该是
(a and b) or c
标签: xquery logical-operators relevance
在 XQuery 中哪个操作更相关:AND 或 OR?
例如:(a and b or c) 等于 1 o 2?
干杯, 黛博拉
【问题讨论】:
(a and b) or c
标签: xquery logical-operators relevance
我猜“更相关”是指其他人所说的“绑定更紧密”或“具有更高优先级”。在 XQuery 中,a and b or c 被解析为 (a and b) or c,而不是 a and (b or c)。
这可以在the XQuery grammar 的作品 46 和 47 中看到:
[46] OrExpr ::= AndExpr ( "or" AndExpr )*
[47] AndExpr ::= ComparisonExpr(“和”ComparisonExpr)*
它也可以通过计算表达式false() and true() or true() 在 XQuery 引擎中展示。通过重新排序表达式并计算 true() or true() and false(),可以看出这是运算符优先级而不是从左到右计算的结果。
【讨论】: