Ruby で使用できる単項演算子

Ruby で使用できる単項演算子を調べてみた。
Ruby では +, -, ~, ! が単項演算子と使用でき、さらに再定義することもできます。

[コード]

class X
    def +@
        p "+"
    end

    def -@
        p "-"
    end

    def ~
        p "~"
    end

    def !
        p "!"
    end
end

def ` str
    p str
end

x = X.new
+x
-x
~x
!x

[出力]

"+"
"-"
"~"
"!"

Ruby では +-二項演算子も存在するので、再定義する場合のメソッド名は +@-@ とする必要があります。