rubyの文字列連結ではまった

rubyで文字列を連結するとき、"+="と"<<"(concat)で追加する方法がある。
"+="で連結するより"<<"(concat)で連結するほうが速度が早いという記述を見つけたので使用していたところ、はまった。

"+="のパターン

ABC = "FOO"
text = ABC
text += "BAR"

# 出力はもちろんFOO
puts ABC


"<<"のパターン

ABC = "FOO"
text = ABC
text << "BAR"

# 出力はFOOBAR
puts ABC

"<<"を使うと参照元も変えられちゃうみたい。