Ruby中的一元加运算符有什么意义?

| 除了使一元减号具有很好的对称性外,为什么在
Numeric
类上定义一元加号运算符?它是否具有某些实用价值,除了会引起混乱,允许编写诸如“ 1”之类的东西(不像大多数非Ruby主义者所认为的那样,它不会增加“ 2”)。 我可以想到这样的情况:在自定义类上定义一元加号可能很有用(例如,如果您正在创建一些性感的DSL),那么能够定义它就可以了,但是为什么它已经在Ruby数字上进行了定义?     
已邀请:
可能仅仅是与其他编程语言之间的一致性问题,以及镜像一元减号的问题。 在Ruby编程语言(由设计Ruby的Yukihiro Matsumoto编写)中找到了对此的支持:   一元加号是允许的,但对数字操作数没有影响,它只返回其操作数的值。它是为一元负的对称性提供的,当然可以重新定义。     
我看到的一个可能原因是明确声明数字为正(即使默认情况下为正)。
ruby-1.9.2-p136 :051 > +3
 => 3 
ruby-1.9.2-p136 :052 > 3
 => 3 
    
如文档中所述,如果字符串被冻结,则一元加号运算符将返回可变的字符串。     

要回复问题请先登录注册