有没有人知道为什么“boolean not”比大多数编程语言的操作顺序具有更高的优先级而不是==? 在数学逻辑/模型理论中,是不是相反?我最近在Lua写了以下内容: if not 1 == 2 then print("hi")e
在数学逻辑/模型理论中,是不是相反?我最近在Lua写了以下内容:
if not 1 == 2 then print("hi") end
由于not和==之间的操作顺序,它不打印“hi”,这对我来说似乎很奇怪.
从来没有必要否定关系运算符,因为每个运算符都有一个相反的运算符.例如,我们有平等和不等运算符(你的例子可以写成1~ = 2).大多数编程语言中的一元运算符具有最高优先级,因为大多数时候会导致代码更像自然语言.例如,不是绿色而不是蓝色应该意味着“既不是绿色也不是蓝色”.一个非常低的优先级将把它变成不像(绿色而不是蓝色)的东西,这是很难理解的.