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

2) 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 --

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

See the thread from a couple of days ago called '"def self.method" vs
"class << self; def method"'.

2) 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

···

On Wed, 11 Oct 2006, Wilhelm wrote:

--
                   David A. Black | dblack@wobblini.net
Author of "Ruby for Rails" [1] | Ruby/Rails training & consultancy [3]
DABlog (DAB's Weblog) [2] | Co-director, Ruby Central, Inc. [4]
[1] Ruby for Rails | [3] http://www.rubypowerandlight.com
[2] http://dablog.rubypal.com | [4] http://www.rubycentral.org