文字列がcopy on writeじゃないのが他の言語と違って結構ハマることが多いのですが、
何か気をつける方法ってないのでしょうか?
Rubyでは全部オブジェクトってのはわかっているつもりなのですが…。

#!ruby -Ku

a = "hage"
b = a
b << "UNKO==!!"

def change_string(s)
s << "(((^^)))))"
end
change_string(b)

puts a, b

結果:
hageUNKO==!!(((^^)))))
hageUNKO==!!(((^^)))))