Precedência do operador de operadores unários
Alguma fonte de informação sobre precedência do operadorcomo isso diz que operadores unários como!
, ~
, +
, -
tersuperior precedência do que atribuição=
. No entanto, as seguintes expressões são possíveis:
!a = true # => false (with warning)
a # => true
~a = 1 # => -2
a # => 1
+a = 1 # => 1
a # => 1
-a = 1 # => -1
a # => 1
Considerando esses resultados, a única explicação possível em que posso pensar é que esses operadores unários têmmais baixo precedência do que a atribuição. Se for esse o caso, isso significaria que as informações que eu mencionei acima estão erradas. Qual é correto? Existe uma explicação diferente?