I'm afraid the fix cause more problems than solutions. I don't know what is happening, and I couldn't go deep, but many things are working bad. So I have to implement temporarily String #asFraction to fullfill my requirements.
On Thu, Oct 13, 2011 at 10:43 AM, Stéphane Ducasse < [email protected]> wrote: > thanks you > > http://code.google.com/p/pharo/issues/detail?id=4909 > > Stef > > On Oct 13, 2011, at 2:39 PM, Norberto Manzanos wrote: > > > On both Squeak 3.9 (I supose others too) and Pharo: > > Fraction readFromString: '1/2' ---> 1 > > '1/2' asNumber ---> 1 > > > > fix > > > > Number #readFrom: stringOrStream > > "Answer a number as described on aStream. The number may > > include a leading radix specification, as in 16rFADE" > > | value base aStream sign | > > aStream _ (stringOrStream isString) > > ifTrue: [ReadStream on: stringOrStream] > > ifFalse: [stringOrStream]. > > (aStream nextMatchAll: 'NaN') ifTrue: [^ Float nan]. > > sign _ (aStream peekFor: $-) ifTrue: [-1] ifFalse: [1]. > > (aStream nextMatchAll: 'Infinity') ifTrue: [^ Float infinity * sign]. > > base _ 10. > > value _ Integer readFrom: aStream base: base. > > "this line " > > (aStream peekFor: $/) ifTrue:[^Fraction numerator: value > denominator: (aStream upTo: $\) asInteger]. > > " added " > > (aStream peekFor: $r) > > > > ifTrue: > > ["<base>r<integer>" > > (base _ value) < 2 ifTrue: [^self error: 'Invalid radix']. > > (aStream peekFor: $-) ifTrue: [sign _ sign negated]. > > value _ Integer readFrom: aStream base: base]. > > ^ self readRemainderOf: value from: aStream base: base withSign: > sign. > > > > -- > > Norberto Manzanos > > Instituto de Investigaciones en Humanidades y Ciencias Sociales (IdIHCS) > > FaHCE/UNLP - CONICET > > Calle 48 e/ 6 y 7 s/Nº - 8º piso - oficina 803 > > Tel: +54-221-4230125 interno 262 > > > -- Norberto Manzanos Instituto de Investigaciones en Humanidades y Ciencias Sociales (IdIHCS) FaHCE/UNLP - CONICET Calle 48 e/ 6 y 7 s/Nº - 8º piso - oficina 803 Tel: +54-221-4230125 interno 262
