我有三个表达式,每个表达式都涉及与逻辑或其否定的乘法。这些逻辑及其否定表示指示变量,因此表达式是有条件地求值的:
-2*3*!T + 5*7*T
5*7*T + -2*3*!T
(-2*3*!T) + 5*7*T
我希望上述内容会产生相同的结果。然而:
> -2*3*!T + 5*7*T
[1] 0 # unexpected!
> 5*7*T + -2*3*!T
[1] 35
> (-2*3*!T) + 5*7*T
[1] 35
我确信这与运算符优先级和类型强制有关,但我无法弄清楚!T
在*
.