Não foi possível carregar o Diqus. Se você é o moderador, por favor veja o nosso guia de problemas.

Daniel Luz • 19 anos atrás

Nando, outra diferença importante entre += e << e que não pode (ou não devia) ser ignorada é que o += cria novas strings a cada concatenação, o que pode aumentar substancialmente o custo de processamento se você usar a operação repetidamente (por exemplo para criar uma string final através de vários pequenos pedaços). Já o << altera a string original, alocando mais espaço apenas se necessário (as Strings do Ruby são mutáveis e comparáveis às StringBuilders do Java e do .NET).

O aspecto mais importante do << é a economia de processamento e memória, mas em certas ocasiões o fato da alteração também pode ser útil. Um exemplo de como isso pode afetar os resultados: http://pastebin.com/884897

Nando Vieira • 19 anos atrás

Bem lembrado Daniel!