[squeak-dev] Object>>printOn: refined.
Tobias Pape
Das.Linux at gmx.de
Tue Jun 2 14:40:14 UTC 2020
> On 02.06.2020, at 16:35, Marcel Taeumel <marcel.taeumel at hpi.de> wrote:
>
> >I think Object>>printOn: is fine as is. Please don't touch it. :)
>
> Sorry, for the confusion. You are right. Especially since "super printOn: stream" is frequently used.
>
> I am talking about #defaultLabelForInspector. Trygve raised a very important concern.
That's right!
-t
>
> Best,
> Marcel
>> Am 02.06.2020 16:30:54 schrieb Tobias Pape <das.linux at gmx.de>:
>>
>>
>> > On 02.06.2020, at 15:09, Marcel Taeumel wrote:
>> >
>> > Hmm... one could add an increasing number, to be reset on system startup. "Hello sir! This is array number 12 you have there. I wonder how much arrays you will come across today?" :-D
>> >
>> > "No, sir. Yesterday's array number 12 is long gone."
>> >
>> I think Object>>printOn: is fine as is. Please don't touch it. :)
>>
>> Best regards
>> -Tobias
>>
>> > Best,
>> > Marcel
>> >> Am 02.06.2020 15:05:52 schrieb Tobias Pape :
>> >>
>> >>
>> >> > On 02.06.2020, at 14:49, Marcel Taeumel wrote:
>> >> >
>> >> > > Teaching user to think in these numbers is, IMHO, not the right direction.
>> >> >
>> >> > It is important to teach users about object identity somehow.
>> >>
>> >> Maybe, but if so, not by telling people that/how/.. objects map to numbers :)
>> >> -t
>> >>
>> >> >
>> >> > Best,
>> >> > Marcel
>> >> >> Am 02.06.2020 14:38:46 schrieb Tobias Pape :
>> >> >>
>> >> >> Hi
>> >> >>
>> >> >> > On 02.06.2020, at 14:10, Trygve Reenskaug wrote:
>> >> >> >
>> >> >> > 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.
>> >> >> > aStream
>> >> >> > nextPutAll: '[' , (self asOop printString truncateTo: 4) , ']' ;
>> >> >> > nextPutAll: (title first isVowel ifTrue: ['an '] ifFalse: ['a ']);
>> >> >> > nextPutAll: title
>> >> >>
>> >> >> I'd rather not increase any complexity in Object.
>> >> >> Besides, both oop and identityHash are too low-level for the average work-flow.
>> >> >> Teaching user to think in these numbers is, IMHO, not the right direction.
>> >> >>
>> >> >> -1.
>> >> >>
>> >> >> Best regards
>> >> >> -Tobias
>> >> >>
>> >> >>
>> >> >
>> >>
>> >>
>> >>
>> >
>>
>>
>>
>
More information about the Squeak-dev
mailing list
|