我遇到了语法错误.我接受这是一个语法错误,但我有点好奇为什么它是一个语法错误.
这完全符合您的预期:
(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似乎没有任何问题,但如果第一个碰巧触及双引号,我会收到语法错误.
为什么会发生这种情况呢?