On Oct 20, 2004, at 4:16 PM, trans. (T. Onoma) wrote: > I've come across this seemingly indistinct option too many times now. > Which is > better? Why choose one over the other? Ah, here's a reason: module Foo class << self def initialize puts "Never called" end end end f = Foo class Bar include Singleton def initialize puts "Called the first time" end end b = Bar.instance c = Bar.instance