Ruby中对一元操作符重载实例
一元操作大家都知道,就是表达式的操作符只有一个输入值。这个在C和Java中都很常见。今天我们要探讨一下Ruby中的一元操作符重载。
一元操作符有:+–*!&等,为了避免与数值的+–混淆,重载一元操作符,要在后面加上一个@操作符。
1.一个简单的一元操作符重载例子:-@操作符
我们以String类为例子。String默认没有定义–操作符:
1.9.3p125:027>a="Hello"
=>"Hello"
1.9.3p125:028>-a
NoMethodError:undefinedmethod`-@'for"Hello":String
from(irb):28
from~/.rvm/rubies/ruby-1.9.3-p125/bin/irb:16:in`'
1.9.3p125:029>