René Nyffenegger's collection of things on the web
René Nyffenegger on Oracle - Most wanted - Feedback -
 

freeze [Ruby]

class SomeClass

  attr_writer :member_1, :member_2

  def initialize (arg_1, arg_2) # called with SomeClass.new
    @member_1 = arg_1
    @member_2 = arg_2
  end

  def print 
    puts "member_1: " + @member_1
    puts "member_2: " + @member_2
  end 

end

sc1 = SomeClass.new('foo', 'bar')

sc2 = sc1

sc1.freeze

#sc2.member_1 = 'hello' #c:/temp/freeze_1.rb:26:in `member_1=': can't modify frozen object (TypeError)
#sc2.member_2 = 'world'

sc1.print