Em 20/10/2009 10:04, Nicolas Cellier <[email protected]> 
escreveu:

> 2009/10/20  :
>> I don't see where are we willing to arrive at.
>>
>> '' asNumber gives zero in several other Smalltalks (Dolphin and VW,
>> for example) and used to work as Mariano mentions in earlier versions
>> of Pharo (which makes me surmise is the way Squeak worked as well).
>>
>> So attempting addressing Nicolas point: the context where '' can be
>> expected is when reading text from some other source (mainly text from
>> a file) into you Pharo application.
>>
>> A library API has to have a reasonable balance between an excruciating
>> "conceptual right" set of calls and the "principle of minimum
>> surprise" for the corner cases in general.
>>
>> From this discussion, are we saying that for now on in order to have
>> strings converted into numbers if we want to have the behaviour ''
>> returning zero we shall change from '' asNumber to '' asNumberOrZero
>> and this method will call a more general method like this?
>>
>> Number>>asNumberOrZero
>> ^self asNumberOr: 0
>>
>> And
>>
>> Number>>asNumberOr: aNumber
>> ^Number readFrom: self ifFail: [^aNumber]
>>
>> Just my .0199999....
>>
>>
> 
> If this is an identified inter-dialect feature, then some applications
> will rely on it, and then yes we SHOULD maintain the feature.

Yes I think the crux is identifying if it is a feature that has become a 'de 
facto standard' or not. . .

> 
> But we can in no way keep all the silly other cases.
> However, did you try these in other dialects

FWIW:

> ' ' asNumber.

Returns 0 in VW and an exception in Dolphin (note that if you put '' instead of 
' ' in Dolphin it returns zero instead)

> 'a' asNumber.

Returns 0 in VW and an exception in Dolphin.

> 'b2' asNumber.

Returns 0 in VW and an exception in Dolphin.

> etc...

ST/X generates exceptions for all the cases above.


> 
> I guess VW & Dolphin should fail in all these cases...
> Squeak did not and would answer 0 in most cases, and that's what I
> don't want to see anymore...
> 
> Another question is should we authorize non blank trailing characters
> ? I think no.
> '2r' asNumber.
> '2 + 3' asNumber.
> etc..
> 

We had a discussion about this in another thread but we did not arrived at a 
final position if memory serves me.

[snipped]

HTH

--
Cesar Rabak

_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to