2014-09-10 3 views
0

Так можно ли это сделать в рубине? 4 ++Возможно ли изменить оператор «++» в Ruby?

Мой первоначальный googling показал, что я могу переопределить плюс, но когда я попытаюсь определить ++, это будет ошибкой для меня.

test.rb:2: syntax error, unexpected '+', expecting ';' or '\n' 
def ++() 
    ^
test.rb:5: syntax error, unexpected keyword_end, expecting end-of-input 
+2

Это, вероятно, быть помечены как дубликат «[Нет приращений оператора (++) в Ruby?] (Http://stackoverflow.com/questions/3717519/no-increment-operator- in-ruby) "и" [Почему Ruby не поддерживает i ++ или i- (операторы increment/decment)?] (http://stackoverflow.com/questions/3660563/why-doesnt-ruby-support- или or -i-increment-декремент-операторы), но это немного другой вопрос, поэтому я связываюсь с общими ответами на реальную проблему. –

+1

Вы всегда можете ходатайствовать [Matz] (http://en.wikipedia.org/wiki/Yukihiro_Matsumoto), чтобы поддержать его, но я сомневаюсь, что это произойдет. Кроме того, что означает «4 ++»? Это глупость на большинстве языков, так как «4 = 4 + 1» не будет работать. – tadman

ответ

5

Вы не можете изменить его, потому что нет никакого оператора ++ в Ruby, чтобы начать с. Вот почему вы получаете синтаксическую ошибку.

Why doesn't Ruby support i++ or i— (increment/decrement operators)? См

+2

Следует отметить, что '++ x' по-прежнему действителен (хотя и не является предварительным приращением), являясь двойным приложением унарного-плюса. – user2864740

Смежные вопросы