William O. Dargel wDargel at
Thu Feb 18 22:36:18 UTC 1999

sqrmax at wrote:

> Would you guys mind if the printOn: for Form was something like this?
> printOn: aStream
>         aStream nextPutAll: 'Form('.
>         width printOn: aStream.
>         aStream nextPut: $x.
>         height printOn: aStream.
>         aStream nextPut: $x.
>         depth printOn: aStream.
>         aStream nextPut: $)
> Andres.

Personally, I always like printStrings that help distinguish one instance
from another. There's nothing quite like looking at a collection and
seeing (a Form a Form a Form a Form a Form ...).

I'd at least make the following changes to your method though:

        nextPutAll: self class name;
        nextPut: $(;
        print: width;
        nextPut: $x;
        print: height;
        nextPut: $x;
        print: depth;
        nextPut: $).

By using "self class name" rather than hardcoding 'Form(' it works nicely
for subclasses like ColorForm, etc. I also prefer using "print:" and a
cascade for things like this (at least since I learned about it ;-). It
makes it easier IMHO to read the sequence of things being assembled for
the printString.

Bill Dargel            wdargel at
Shoshana Technologies
100 West Joy Road, Ann Arbor, MI 48105  USA

More information about the Squeak-dev mailing list