Singleton classes and Singleton pattern

W

Wilhelm

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.
 
D

dblack

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

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

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,059
Latest member
cryptoseoagencies

Latest Threads

Top