Singleton classes and Singleton pattern

I just happened upon singleton classes, and was wondering two things:

  1. There’s no difference between these two codes, right? Is there an
    advantage or disadvantage over either? Does Ruby put bar() into the
    same virtual class object for both?

class Foo
class << self
def bar
end
end
end

class Foo
def self.bar
end
end

  1. A singleton class has nothing to do with the singleton design
    pattern, right? They only share the same name because there is only
    ever one of them.

Hi –

On Wed, 11 Oct 2006, Wilhelm wrote:

end
end

class Foo
def self.bar
end
end

See the thread from a couple of days ago called ‘“def self.method” vs
“class << self; def method”’.

  1. A singleton class has nothing to do with the singleton design
    pattern, right? They only share the same name because there is only
    ever one of them.

That’s correct. The predicate “singleton” applies to both, but
they’re not the same as each other.

David