Ruby 不支持递增变量,例如variable++
。我看到这种行为:
2 ++ 4
gives 6
。事实上,任意数量的+
两个变量之间的符号被视为一个单一的+
。 ruby 是如何做到这一点的呢?既然 ruby 这样做了,是否可以将其视为不可用的原因?++
操作员?
This:
2 ++ 4
被解析为:
2 + (+4)
所以第二个+
是一元加。添加更多的优点只会增加更多的一元+
运营商所以:
2 ++++++ 4
被视为:
2 + (+(+(+(+(+(+4))))))
如果您提供您的+@
中的方法Fixnum
:
class Fixnum
def +@
puts 'unary +'
self
end
end
然后你甚至可以看到它发生:
> 2 ++ 4
unary +
=> 6
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)