--0016361e7b0cde7545049668580e
Content-Type: text/plain; charset=ISO-8859-1

On Wed, Dec 1, 2010 at 11:25 PM, Tony Arcieri <tony.arcieri / medioh.com>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 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

--0016361e7b0cde7545049668580e--