logo       

Re: invoking a *class* method from a workspace: msg#00148

lang.smalltalk.squeak.beginners

Subject: Re: invoking a *class* method from a workspace

Hi mstram,

on Sat, 26 May 2007 14:50:34 +0200, you wrote:

What's the trick / catch ... if there is one for invoking a class method from
a workspace?

I created a Class "MikeTest".

- Added an instance method : "imethod"

MikeTest >> imethod
^ 'I am an instance method'

- Added a Class method

MikeTest class>>cmethod
^ 'I am a class method'

----
Then in a workspace :

t := MikeTest new.
t imethod (alt-p) -->> 'I am an instance method' (As expected)

t cmethod (alt-p) gives 'MessageNotUnderstood'

http://mstram.freepgs.com/img/message_not_understood_when_evaluating_class_method.jpg

The debug trace has 'UndefinedObject>>Doit' ... which seems strange to me
... does that mean
the workspace doesn't understand how to send a class method ???

The line with UndefinedObject>>DoIt is how the compiler invokes the expression when you do (alt-p). When you select that line, you can see your expression decompiled. So, no problem.

The other question was answered by Edgar.

/Klaus

Puzzled (again).

Mike


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise