<div dir="ltr">Sure but still, why isn't store: in the Transcript for these? As they are in the other classes <div class="gmail_extra"><div><div dir="ltr"><div><br></div><div> </div><div><br></div></div></div>
<br><br><div class="gmail_quote">On Mon, Nov 18, 2013 at 5:19 PM, Sven Van Caekenberghe <span dir="ltr"><<a href="mailto:sven@stfx.eu" target="_blank">sven@stfx.eu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

You could try using #storeString as in<br>
<br>
Transcript show: (1 / 2) asScaledDecimal storeString<br>
<br>
Sven<br>
<br>
On 18 Nov 2013, at 17:09, <a href="mailto:phil@highoctane.be">phil@highoctane.be</a> wrote:<br>
<br>
> I was playing with ScaledDecimal when doing experiments with numbers in Pharo.<br>
><br>
> Now, ScaledDecimal says in its comment:<br>
><br>
> "Note that a ScaledDecimal does not printOn: exactly, however it will storeOn: exactly because the full precision fraction is kept in memory."<br>
><br>
> This happens to be right when inspecting the expressions.<br>
><br>
> Now, I tried to do the following:<br>
><br>
> x := 2 asScaledDecimal.<br>
> y := 1 asScaledDecimal.<br>
><br>
> z := (y / x).<br>
><br>
> z storeOn: Transcript.<br>
><br>
> And z storeOn: Transcript fails miserably.<br>
><br>
> This is due to storeOn: doing:<br>
><br>
> storeOn: aStream<br>
>       "ScaledDecimal sometimes have more digits than they print (potentially an infinity).<br>
>       In this case, do not use printOn: because it would loose some extra digits"<br>
><br>
>       self shouldBePrintedAsLiteral<br>
>               ifTrue: [self printOn: aStream]<br>
>               ifFalse: [aStream<br>
>                       nextPut: $(;<br>
>                       store: numerator;<br>
>                       nextPut: $/;<br>
>                       store: denominator;<br>
>                       nextPut: $s;<br>
>                       store: scale;<br>
>                       nextPut: $)]<br>
><br>
> And store: doesn't exists in the ThreadSafeTranscript which happens to be no stream at all.<br>
><br>
> Try this out:<br>
><br>
> x := 2 asScaledDecimal.<br>
> y := 1 asScaledDecimal.<br>
><br>
> z := (y / x).<br>
><br>
> "works"<br>
> 5.0 storeOn: Transcript.<br>
> Transcript flush.<br>
><br>
> "works"<br>
> (1/2) storeOn: Transcript.<br>
> Transcript flush.<br>
><br>
> "fails"<br>
> z storeOn: Transcript.<br>
> Transcript flush.<br>
><br>
> "works"<br>
> s := (String new: 30).<br>
> st := s writeStream.<br>
> z storeOn: st.<br>
> Transcript<br>
>       show: 'storeOn: ', st contents;<br>
>       cr;<br>
>       show: z.<br>
><br>
> Kind of annoying to do while explaining to kids.<br>
><br>
> The ThreadSafe transcript looks like to be subclassed from Object and being no real stream at all.<br>
><br>
> Why is it so?<br>
><br>
> Phil<br>
><br>
><br>
><br>
<br>
<br>
</blockquote></div><br></div></div>