前/后递增/递减运算符(++
和--
)是非常标准的编程语言语法(至少对于过程语言和面向对象语言而言是如此)。
为什么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
并设置它,为什么不对++
执行同样的操作
是包含=
字符的赋值的一致性是造成这种情况的唯一原因,还是我遗漏了什么?
https://stackoverflow.com/questions/3660563
复制相似问题