文字列リテラルとobject_id

Rubyの文字列リテラルは、評価するたびに新しいオブジェクトが作られます。
object_idを調べればそのことが確認できます。

a = 'hello'
b = 'hello'
c = 'hello'
p a.object_id
p b.object_id
p c.object_id

3.times do
  p 'hello'.object_id
end

実行結果です。

21788688
21788676
21788664
21788592
21788568
21788532