При использовании ‘<<‘ мы не создаем новый объект, а лишь меняем его, а при использовании ‘+=’ создается новый объект, с другим id
a = 'foo'
a.object_id #=> 2154889340
a << 'bar'
a.object_id #=> 2154889340
a += 'quux'
a.object_id #=> 2154742560
Code language: Ruby (ruby)