Я столкнулся с синтаксической ошибкой.Я принимаю, что это синтаксическая ошибка, но мне несколько любопытно, что почему это синтаксическая ошибка.
Это работает точно так, как вы ожидаете:
(0..9).each { |n| puts n.to_s + "^2 = " + (n**2).to_s }
Это выдает ошибку:
(0..9).each { |n| puts n.to_s +"^2 = "+ (n**2).to_s }
Ошибка:
NoMethodError: undefined method '+@' for "^2 = ":String
Как ни странно, я могу переместить второй знак плюс куда угодно, и у Руби, похоже, с этим нет проблем,но если это первое касается двойных кавычек, я получаю синтаксическую ошибку.
Почему именно это происходит?