リテラルの符号は、単項演算子 `-', `+' のメソッド呼び出しでは ありません。
-
+
class Fixnum def -@ "negative #{self}" end end p -10 # => -10 n = 10 p -n # => "negative 10"
この違いは結合強度にも影響します。
p -10.abs # => 10 n = 10 p -n.abs # => -10