Оператор pre/post increment/decment (++
и --
) - довольно стандартный синтаксис языка программирования (как правило, для процедурных и объектно-ориентированных языков).
Почему 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
и устанавливать его, почему бы не сделать то же самое для ++
?
Является ли согласованность в назначениях, содержащих символ =
единственной причиной этого, или я что-то не хватает?