[squeak-dev] Object>>printOn: refined.

Trygve Reenskaug trygver at ifi.uio.no
Tue Jun 2 12:10:02 UTC 2020

I find it frustrating to open 3 inspectors on different objects, all of 
them titled 'aString' (or whatever),
IMO, it is much better to open them on the 3 objects: [1234] aString, 
[3456] a String, [4567 a String.
The numbers in square brackets stand for the objects /oop/, actually its 
/identityHash/. They can be a 7-digit numbers; much too long for my 
short-time memory to hold many of them. I therefore truncate the number 
to 4 digits, accepting that I may, in rare cases, get 2 objects with the 
same identifier.

I'm running 'Squeak5.3'.

    *Object>>printOn: aStream*
             "Append to the argument, aStream, a sequence of characters
    that identifies the receiver."
             " The previous version identified the class, not the instance "
             " This new version identifies the instance with its oop. "
             " I arbitrarily truncate the oop to 4 digits to simplify
    reading. "

             | title |
             title := self class name.
                 nextPutAll: '[' , (self asOop printString truncateTo:
    4) , ']' ;
                 nextPutAll: (title first isVowel ifTrue: ['an ']
    ifFalse: ['a ']);
                 nextPutAll: title


/The essence of object orientation is that objects collaborateto achieve 
a goal. /
Trygve Reenskaug mailto: trygver at ifi.uio.no <mailto:%20trygver at ifi.uio.no>
Morgedalsvn. 5A http://folk.uio.no/trygver/
N-0378 Oslo http://fullOO.info
Norway                     Tel: (+47) 468 58 625

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200602/592f322c/attachment.html>

More information about the Squeak-dev mailing list