Я столкнулся с синтаксической ошибкой. Я согласен с тем, что это синтаксическая ошибка, но мне несколько любопытно, , почему это синтаксическая ошибка.
Это работает именно так, как вы ожидали:
(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
Как ни странно, Я могу переместить второй знак плюса в любое место, и Ruby, похоже, не испытывает с этим проблем, но если первый из них касается двойной кавычки, я получаю синтаксическую ошибку.
Почему именно это происходит?