From: "Jesús Gabriel y Galán" Date: 2010-12-02T17:52:34+09:00 Subject: Re: Singleton class, metaclass, eigenclass: what do they mean? On Thu, Dec 2, 2010 at 8:27 AM, Josh Cheek wrote: > On Wed, Dec 1, 2010 at 11:25 PM, Tony Arcieri wrote: > >> Every time I think I have my head around what these terms mean I seem to >> run >> across someone with a completely different definition. >> >> My understanding was that the singleton class is what you obtain when you >> call self.class in instance scope, and that metaclass and eigenclass >> are interchangeable terms for what you obtain if you call class << self; >> self; end in instance scope. >> >> Is this correct? Do you have a different definition? >> >> > I take all three to mean the same thing: the object's own personal class. It > has only one instance, which is the object. > > Or, in code: > > class << obj >  # now we are in obj's metaclass / eigenclass / singleton class > end I agree with this. For me they mean the same thing. > I think the different names exist for historical reasons, I personally use > "metaclass" because that is what _why used in Dwemthy's Array > http://mislav.uniqpath.com/poignant-guide/dwemthy/ but I think the name > "eigenclass" sounds badass (reminiscent of steampunk), so maybe I'll start > using it, instead :P I use "singleton class" :-). Jesus.