https://pharo.fogbugz.com/default.asp?11149
On Jul 8, 2013, at 8:43 AM, Stéphane Ducasse <[email protected]> wrote: > It seems that we never integrate this change (there was not bug entry :)). > I will open a bug entry if not. > > Stef > > Begin forwarded message: > >> From: David Gorisek <[email protected]> >> To: [email protected] >> Cc: >> Date: Wed, 13 Mar 2013 22:24:04 +0100 >> Subject: Pharo and scaled decimals >> Hello all, >> >> I am testing Pharo and I have noticed that the Pharo compiler does not treat >> ScaledDecimals the same way they are treated in other Smalltalk dialects >> (e.g. VW, VAST, Dolphin, STX, etc.). >> >> For example the following is a valid code representing an instance of >> ScaledDecimal/FixedPoint in all other dialect. >> >> 1.0s + 2.0s >> >> In Phare the code above wont compile, it has to be written as: >> >> 1.0s1 + 2.0s1 >> >> So I have made the following quick change to make Pharo compatible with >> other Smalltalk dialects. Maybe this change could be included in the next >> version of Pharo? >> >> SqNumberParser>>#readScale >> "read the scale if any (stored in instVar). >> Answer true if found, answer false if none. >> If scale letter is not followed by a digit, this is not considered as an >> error. >> Scales are always read in base 10, though i do not see why..." >> >> scale := 0. >> sourceStream atEnd >> ifTrue: [ ^ false ]. >> (sourceStream peekFor: $s) >> ifFalse: [ ^ false ]. >> scale := self nextUnsignedIntegerOrNilBase: 10. >> scale >> ifNil: [ >> scale := 0. >> (sourceStream peek ifNil: [false] ifNotNil: [ :nextChar | >> nextChar isLetter]) >> ifTrue: [ >> sourceStream skip: -1. "ungobble the s" >> ^ false ] >> ifFalse: [ ^ true ] ]. >> ^ true >
