[ruby] FixuumやStringはfreezeできないのだろうか?

|

Stringは変更されるたびに新しいインスタンスが作られるから、freezeしても無意味?
整数の場合は、freezeできない?

arr = [1, 2, 3]
puts arr.frozen?  # → false
arr << 4
p arr

arr.freeze
puts arr.frozen?  # → true
#arr << 5  # TypeErrorになる

a = String.new("test")
puts a
puts a.object_id

a.freeze
puts a.frozen?

a = "testtest"
puts a
puts a.object_id

n = 0
puts n
puts n.object_id

n.freeze
puts n.frozen?

n = 1
puts n
puts n.object_id