T. Onoma wrote: > As far as I know -@ and +@ are the only unary operators that can be defined. One more, at least: irb(main):001:0> class Foo; def ~@; "FOO"; end; end => nil irb(main):002:0> ~Foo.new => "FOO" I like this one because ~ is less suggestive than + and -, so it could be used for a wider variety of concepts.