Hi Sven, It seems to me that we are now talking about double quote “. However, this is just a tool issue related to how to embed the result of Print It.
Just to remove the confusion, please resend this message without the “comment” printing :). Cmd-p + Cmd+p gets the plain result embedded. Cheers, Doru > On Feb 19, 2017, at 12:14 PM, Sven Van Caekenberghe <[email protected]> wrote: > > But this *is* a discussion about the tools, not the implementation. > > ZnUrl is an example of class in the image that has a print representation > like your object. > > So it looks like this (doing Print It in a Playground) (for me): > > 'https://pharo.org' asUrl. "https://pharo.org/" > 'https://pharo.org' asUrl printString. "'https://pharo.org/'" > > But you seem to use a modification where the $" are not used ? > > I guess that the reason those $" are there is to make it a legal expression. > > Anyway, I do not see an underlying problem, only a possible discussion about > what you would expect from the tools. > > Strings are poor representations, make them auto evaluate would make for much > uglier text. > > I would not particularly like the following: > > 'https://pharo.org' asUrl. "ZnUrl fromString: 'https://pharo.org'" > > Or even: > > 'https://pharo.org' asUrl. "(ZnUrl fromString: 'https://pharo.org')" > > Though it is an option. (This goes for all similar objects, like date, time, > ..). > > Then it does become a discussion about what a print string should be. > >> On 19 Feb 2017, at 11:42, stepharong <[email protected]> wrote: >> >> On Sun, 19 Feb 2017 11:40:04 +0100, Sven Van Caekenberghe <[email protected]> >> wrote: >> >>> Ah, you're right: there is a difference between printing a textual >>> representation on a stream / window and doing the same with the actual >>> (print)string. I was not yet fully awake I guess. >> >> So >> 'comics' >> >>> comics whatever it means >> but >> (#AAA asClass new name: 'comics') >> >>> 'comics' >> >> I'm sorry but I do not get it at all. >> Especially since we always wrote that printIt is sending printString. >> I find that totally broken and I do not understand why this is good. >> >> Stef >> >> >> >> >>> >>>> On 19 Feb 2017, at 10:59, Tudor Girba <[email protected]> wrote: >>>> >>>> Hi, >>>> >>>> Hmm, I think I do not see it :). >>>> >>>> Let’s take it slowly. From what I see, the behavior is the same since at >>>> least Pharo 3. >>>> >>>> Here is a script that seems to reproduce your situation: >>>> >>>> Object subclass: #AAA >>>> instanceVariableNames: 'name' >>>> classVariableNames: '' >>>> package: 'AAA'. >>>> #AAA asClass compile: 'printOn: aStream >>>> aStream << name'. >>>> #AAA asClass compile: 'name: aString >>>> name := aString'. >>>> #AAA asClass new name: 'comics' >>>> >>>> In Pharo 6, we have in a Playground: >>>> >>>> <Screen Shot 2017-02-19 at 10.48.55 AM.png> >>>> >>>> In Pharo 3, we have this in a Workspace: >>>> >>>> <Screen Shot 2017-02-19 at 10.49.26 AM.png> >>>> >>>> Calling Print It on an object produces a string out of the contents of the >>>> stream, and displaying it shows the contents of the stream (so, no >>>> quotes). Calling Print It on a string produces a string of the string, and >>>> displaying it shows the quotes of the first string. >>>> >>>> You can see this in the String tab of the inspector: >>>> >>>> <p1.png> >>>> >>>> >>>> <p2.png> >>>> >>>> Does this make sense? >>>> >>>> I think this is not inconsistent, but maybe there is a better way. In any >>>> case, the behavior seems to exist since a long time. >>>> >>>> Cheers, >>>> Doru >>>> >>>> >>>>> On Feb 19, 2017, at 9:06 AM, stepharong <[email protected]> wrote: >>>>> >>>>> Hi doru >>>>> >>>>> may be I do not see the obvious. >>>>> I defined a class >>>>> >>>>> Object subclass: #MFElement >>>>> instanceVariableNames: 'name parent' >>>>> classVariableNames: '' >>>>> package: 'MyFS2' >>>>> >>>>> printOn: aStream >>>>> parent isNil ifFalse: [ parent printOn: aStream ]. >>>>> aStream << name >>>>> >>>>> name: aString >>>>> name := aString >>>>> >>>>> >>>>> MFDirectory new name: 'comics'. >>>>> >>>>> >>>>> And when I do >>>>> >>>>> >>>>> (MFDirectory new name: 'comics') >>>>> comics/ >>>>> >>>>> >>>>> (MFDirectory new name: 'comics') printString >>>>>>>> 'comics/' >>>>> >>>>> >>>>> Hi Stef, >>>>> >>>>> I think I do not understand the issue. >>>>> >>>>> Here is the screenshot of a Playground. >>>>> >>>>> ‘comics’ -> print-it -> ‘comics' >>>>> >>>>> <Mail Attachment.png> >>>>> >>>>> What am I missing? >>>>> >>>>> Cheers, >>>>> Doru >>>>> >>>>> >>>>>> On Feb 18, 2017, at 6:26 PM, stepharong <[email protected]> wrote: >>>>>> >>>>>> >>>>>> Hi guys >>>>>> >>>>>> I'm working on an introduction chapter for my future book and I do not >>>>>> like the behavior I see in latest pharo 60. >>>>>> >>>>>> And I do not understand the behavior of print-it >>>>>> >>>>>> (MFDirectory new name: 'comics') >>>>>> comics/ >>>>>> >>>>>> >>>>>> (MFDirectory new name: 'comics') printString >>>>>>>>> 'comics/' >>>>>> >>>>>> >>>>>> Why print it does not produce ''? >>>>>> >>>>>> >>>>>> Stef >>>>>> >>>>>> >>>>>> printIt >>>>>> "Treat the current text selection as an expression; evaluate it. Insert >>>>>> the >>>>>> description of the result of evaluation after the selection and then >>>>>> make >>>>>> this description the new text selection." >>>>>> >>>>>> | printString | >>>>>> self >>>>>> evaluateSelectionAndDo: [ :result | >>>>>> printString := [ result printString ] >>>>>> on: Error >>>>>> do: [ '<error in printString: try ''Inspect >>>>>> it'' to debug>' ]. >>>>>> self afterSelectionInsertAndSelect: printString ] >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Using Opera's mail client: http://www.opera.com/mail/ >>>>>> >>>>> >>>>> -- >>>>> www.tudorgirba.com >>>>> www.feenk.com >>>>> >>>>> "It's not how it is, it is how we see it." >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Using Opera's mail client: http://www.opera.com/mail/ >>>>> <MFElement.st> >>>> >>>> -- >>>> www.tudorgirba.com >>>> www.feenk.com >>>> >>>> "Problem solving should be focused on describing >>>> the problem in a way that makes the solution obvious." >>>> >>>> >>>> >>>> >>>> >>> >> >> >> -- >> Using Opera's mail client: http://www.opera.com/mail/ > > -- www.tudorgirba.com www.feenk.com "We can create beautiful models in a vacuum. But, to get them effective we have to deal with the inconvenience of reality."
