[Newbies] Best way to implement two-dimensional array
Bert Freudenberg
bert at freudenbergs.de
Tue Sep 4 17:36:21 UTC 2007
On Sep 4, 2007, at 10:07 , John Almberg wrote:
> Bert,
>
>> Well, since you are storing it in a class var, the "heavy lifting"
>> can be done at initialization time. This way the code remains
>> readable but you can do heavy pre-processing to bring that stuff
>> into an easily accessible form.
>
> Oh! I see what you mean. That would be a good approach.
>
>> Btw, the "real" Smalltalk way would be to just create your data in
>> the class var interactively using an inspector. The image will
>> store these just fine. The problem with there may not be a simple
>> way of transporting them along with the code into another image.
>
> H'mmm... this is over my head. I'm not sure how to inspect a class
> object.
>
> I tried doing:
>
> MyClass inspect
>
> and also poking around the menus, but it looks like I'm inspecting
> an instance of the class, not the class itself -- the class
> variable is not displayed.
>
> How do you edit data in a class interactively? Probably not what I
> want, as you say, but sounds interesting.
Type "MyClass", select it, press Cmd-i (or Alt-i). You get an
inspector on a class - which of course is the instance of another
class, as everything is an object (and hence an instance of a class)
in Smalltalk. Anyway, you should see a reference to the superclass, a
dictionary of all the methods, the list of instance variables and
subclasses etc. Class variables are simply held in a Dictionary in
the "classPool" instance variable of that class. So by inspecting
that and drilling down into your class var you can modify it.
A simpler way to get at the contents of your class var is just
selecting its name in a browser showing any method of your class, and
press Cmd-i there. That works because in the browser, code is
evaluated in the context of the selected class.
- Bert -
More information about the Beginners
mailing list