Ruby中没有增量运算符(++)?

可能重复:
为什么不支持i ++或i- fixnum?

为什么Ruby中没有增量运算符?

例如

i++ ++i 

++运算符是用来做其他事情的吗? 这有没有真正的原因?

Ruby没有前/后增加/减less运算符。 例如, x++x--将无法parsing。 更重要的是, ++x--x将无能为力! 实际上,它们performance为多个一元前缀运算符: -x == ---x == -----x == ......要增加数字,只需写入x += 1

从新手到ruby应该知道的事情(链接更新使用caching页面,原始链接被破坏)

这比我所能解释的更好。

编辑:和语言作者自己的原因( 来源 ):

  1. ++和 – 在Ruby中不是保留的运算符。
  2. C的增加/减less操作符实际上是隐藏的赋值。 它们影响variables,而不是对象。 你不能通过方法完成任务。 Ruby使用+ = / – =运算符。
  3. 自我不能成为任务的目标。 此外,修改整数1的值可能会在整个程序中造成严重的混淆。

从Matz的发帖 :

(1)++和 – 在Ruby中不是保留的运算符。

(2)C的增/减操作符实际上是隐藏的赋值。 它们影响variables,而不是对象。 你不能通过方法完成任务。 Ruby使用+ = / – =运算符。

(3)自我不能成为任务的目标。 此外,修改整数1的值可能会在整个程序中造成严重的混淆。

  matz. 

我不认为符号是可用的,因为 – 不像说PHP或C – Ruby中的所有东西都是一个对象。

当然你可以使用$var=0; $var++ PHP中的$var=0; $var++ ,但这是因为它是一个variables,而不是一个对象。 因此, $var = new stdClass(); $var++ $var = new stdClass(); $var++可能会抛出一个错误。

我不是Ruby或RoR程序员,所以我敢肯定有人可以validation上述内容,如果不正确,可以纠正。