前/后增加/减少运算符(++
和--
)是非常标准的编程语言语法(至少对于过程和面向对象的语言)。为什么Ruby不支持i ++或i--(增加/减少运算符)?
为什么Ruby不支持它们?我知道你可以用+=
和-=
完成同样的事情,但排除类似的东西似乎很古怪,特别是因为它非常简洁和传统。
例子:
i = 0 #=> 0
i += 1 #=> 1
i #=> 1
i++ #=> expect 2, but as far as I can tell,
#=> irb ignores the second + and waits for a second number to add to i
我明白Fixnum
是不可改变的,但如果+=
可以只实例化一个新的Fixnum
并设置它,为什么不为++
做?
是否包含=
字符的赋值一致性是唯一原因,还是我错过了什么?
Grep这样的操作符的源代码。如果没有 - 马茨不喜欢他们。 – Eimantas 2010-09-07 16:29:50
你不能用'+ ='操作符来预先增加。在C中,我尝试仅在条件语句中使用'++'/'--',在基本语句中宁愿使用更多的'+ ='/' - ='。可能是因为我学习了Python(在C之后很长,但是...) – 2010-09-07 16:35:25
昨天Python没有像这样的问题吗? – BoltClock 2010-09-07 16:41:26