Dado este código,
a = [ "Hello" "world!" ]
p a.size
qual será a saída?
Sua resposta imediata provavelmente será “2”. (A menos que você tenha prestado atenção ao título deste protocolo.) No entanto, será “1”. Vá em frente e experimente no irb. Eu vou esperar.
O analisador Ruby concatena automaticamente os literais de string adjacentes. Eles não precisam ter o mesmo tipo de aspas e a interpolação ainda é aplicada.
p "Hello " 'world!'
s = 'world'
p "Hello " "#{s}!"
Este é um comportamento documentado para o analisador Ruby, o que significa que ele nem mesmo gerará um aviso.