Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'singleton'
- class LongOperation
- include Singleton
- def initialize
- puts "Calculating"
- @base = 2 ** 32
- end
- def value
- @base
- end
- end
- class Base
- def initialize
- @value = LongOperation.instance.value
- end
- def value
- @value
- end
- end
- puts Base.new.value
- puts Base.new.value
- puts Base.new.value
- ## Old Approach
- class Base
- include Singleton
- def initialize
- unless @base
- @base = "DABASE"
- puts "-----------------------------"
- puts "This is Base's initializer"
- puts "-----------------------------"
- end
- end
- end
- class Derived < Base
- def self.do_sth
- puts "do sth ..."
- end
- end
- if __FILE__ == $0
- 3.times do
- Derived.do_sth
- end
- end
Add Comment
Please, Sign In to add comment