On Mon, Sep 24, 2012 at 8:24 PM, Guillermo Polito <guillermopolito@gmail.com
wrote:
Maybe rename #instVarNames to #myInstancesVariableNames?
+1. I think something around this would clarify this scenario. Because for me Class is a normal object...
Guille
On Mon, Sep 24, 2012 at 8:18 PM, Camillo Bruni <camillobruni@gmail.com>wrote:
On 2012-09-24, at 20:15, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
On Sep 24, 2012, at 6:51 PM, Camillo Bruni wrote:
Nautilus class instVarNames -> #('maxSize' 'cachedLastClasses' 'groups')
ok we get the instance variables
Nautilus class instVarNamed: 'groups' -> error
For me that is wrong. I should not get an error, I should get the actual variable. I mean, why #instVarNames workds but #instVarNamed: doesn't? That is inconsistent.
to me mariano is right. if I can ask a class for a receiver a list of stuff I should be able to send to the same receiver the value of the named elements. this distinction is confusing (Normally I know what is metaclass programming)
but with methods it's the very same, you get them no the class side, but you cannot do anything with them on the class.
The problem is just that on a Class the instance side (of the Metaclass) and the class side collapse, so you have a double interface there.
unless you have a strict and weird kind of separation of these two layers like in Java, you will always have a double set of methods there..
-- Mariano http://marianopeck.wordpress.com