Dear Freinds,
Class Method and Singletons are the same?
Can you explain me with some simple code.
Many thanks in advance,
regards,
salai.
Dear Freinds,
Class Method and Singletons are the same?
Can you explain me with some simple code.
Many thanks in advance,
regards,
salai.
salai [email protected] wrote:
Class Method and Singletons are the same?
No, not quite.
Can you explain me with some simple code.
It’s very simple. There are really no class methods; there are only
instance methods. It is convenient to talk about class methods, but in
Ruby things are very elegant: a class is itself an instance (of the
Class class), and so a “class method” is merely an instance method of
that instance (i.e. an instance method of an instance of the Class
class).
Okay, so when you define a class method by saying
class C
end
def C.my_method
end
…you are doing EXACTLY the same thing that you are doing when you
define an instance method on any individual instance:
thing = Object.new
def thing.my_method
end
Exactly WHAT same thing? You are opening the instance and defining an
instance method applicable to that instance only. That is the
“singleton”. So when you define a class method you are actually creating
a singleton instance method on that Class instance.
m.
PS By the way, in a completely different context (a proposed book about
rb-appscript) I have written an “introduction to Ruby” chapter that
might help you with these concepts. It’s here:
http://www.apeth.com/ruby/02justenoughruby.html
Hope this helps.
Hi matt,
thanks you very much for your explanation and your “Ruby introduction”
book link.
http://www.apeth.com/ruby/02justenoughruby.html
regards,
salai
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs