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