传统上,大多数编程语言的AND优先级高于OR优先级,因此表达式"a OR b AND c“被视为"a OR (b AND c)”。遵循这个想法,搜索引擎和查询/寻址语言(css,xpath,sql,...)使用了相同的优先顺序。是不是搞错了?当处理足够大的数据时,这种优先级排序是不方便的,因为它使得在不使用括号的情况下无法创建可重用的查询上下文。使用AND创建上下文更加方便,然后使用OR在上下文中合并结果。body.app
大多数编程语言都有二进制运算符的优先级和结合性表。在某些情况下,结合性很重要,例如(a - b) - c != a - (b - c)。然而,对于像&&这样的联合运算符来说,它似乎并不重要,但是大多数语言都将其列为左关联。
是否存在(a && b) && c和a && (b && c)之间实际上存在差异的情况?