Помимо создания хорошей симметрии с унарным минусом, почему унарный оператор плюс определен в классе Numeric
? Есть ли в этом какая-то практическая ценность, кроме как вызвать путаницу, позволяющую писать такие вещи, как ++i
(что, в отличие от большинства нерубиистов, не увеличивает i
).
Я могу вспомнить сценарий, в котором определение унарного плюса для пользовательского класса может быть полезным (скажем, если вы создаете какой-то сексуальный DSL), поэтому возможность определить его - это нормально, но почему он уже определен в числах Ruby?