« Return to Thread: [squeak-dev] What do you expect to get from Duration>>seconds and Time>>seconds?

Re: [squeak-dev] Re: What do you expect to get from Duration>>seconds and Time>>seconds?

by Igor Stasenko :: Rate this Message:

Reply to Author | View in Thread

2008/5/10 nicolas cellier <ncellier@...>:

> Ken Causey a écrit :
>>
>> One of the issues reported against 3.10 is that 'Time now seconds'
>> returns a fraction and not an integer as it did in 3.9 (and presumably
>> before).  It turns out the fact that it was an integer previously was an
>> artifact of the fact that the clock did not provide sub-second
>> precision.  Now that it does it returns a fraction.  All along the
>> actual calculation of seconds was done in Duration>>seconds and since
>> 2003 that calculation has taken nanoseconds into consideration and
>> clearly would return a fraction if nanoseconds is non-zero.
>>
>> I think it's reasonable to get a fraction from Duration>>seconds since
>> sub-second durations are not unusual.  Maybe someone else expects to get
>> a 0 in that case, if so please speak up.
>>
>> However what about Time>>seconds?  The ANSI protocol specifies
>> Duration>>seconds simply specifying that it returns a number, but there
>> is no specification for Time>>seconds or DateAndTime>>seconds at all.
>> It does however specify DateAndTime>>second though and again it only
>> says 'number'.  So it seems to be time to gather opinions.
>>
>> Ken
>>
>>
>
> Then why Time now minutes and Time now hours return an Integer instead of a
> Fraction?
>
Right, and if user wants more precise values, we can always add
Time>>milliseconds microseconds nanoseconds picaseconds e.t.c

> The most consistent behaviour is to answer number of seconds truncated to an
> Integer.
> That's the least surprising behaviour I would expect.
>
> Nicolas
>
>
>



--
Best regards,
Igor Stasenko AKA sig.


 « Return to Thread: [squeak-dev] What do you expect to get from Duration>>seconds and Time>>seconds?

LightInTheBox - Buy quality products at wholesale price!