2015-02-20 00:35:01 -05:00
|
|
|
msg = "Hello World"
|
2013-10-27 22:24:23 +00:00
|
|
|
msg << "!"
|
|
|
|
|
puts msg #=> Hello World!
|
|
|
|
|
|
|
|
|
|
puts msg.frozen? #=> false
|
2013-04-10 16:57:12 -07:00
|
|
|
msg.freeze
|
2013-10-27 22:24:23 +00:00
|
|
|
puts msg.frozen? #=> true
|
|
|
|
|
begin
|
|
|
|
|
msg << "!"
|
|
|
|
|
rescue => e
|
|
|
|
|
p e #=> #<RuntimeError: can't modify frozen String>
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
puts msg #=> Hello World!
|
|
|
|
|
msg2 = msg
|
|
|
|
|
|
2015-02-20 00:35:01 -05:00
|
|
|
# The object is frozen, not the variable.
|
2013-10-27 22:24:23 +00:00
|
|
|
msg = "hello world" # A new object was assigned to the variable.
|
|
|
|
|
|
|
|
|
|
puts msg.frozen? #=> false
|
|
|
|
|
puts msg2.frozen? #=> true
|