像这样的一些关于运算符优先级的信息源说,像!
, ~
, +
,这样的一元运算符比赋值-
具有更高的=
优先级。但是,以下表达式是可能的:
!a = true # => false (with warning)
a # => true
~a = 1 # => -2
a # => 1
+a = 1 # => 1
a # => 1
-a = 1 # => -1
a # => 1
考虑到这些结果,我能想到的唯一可能的解释是这些一元运算符的优先级低于赋值。如果是这样,那就意味着我上面提到的信息是错误的。哪个是对的?有不同的解释吗?