[#38392] Enumerable#gather_each — Tanaka Akira <akr@...>

ときに、複数行をまとめて扱いたいことがあります。

47 messages 2009/05/09
[#38394] Re: Enumerable#gather_each — ujihisa <ujihisa@...> 2009/05/09

ujihisaと申します。

[#38400] Re: Enumerable#gather_each — Yukihiro Matsumoto <matz@...> 2009/05/09

まつもと ゆきひろです

[#38399] Re: Enumerable#gather_each — "Akinori MUSHA" <knu@...> 2009/05/09

At Sat, 9 May 2009 15:30:20 +0900,

[#38405] Re: Enumerable#gather_each — Tanaka Akira <akr@...> 2009/05/10

In article <86r5yy2nrg.knu@iDaemons.org>,

[#38417] Re: Enumerable#gather_each — "Akinori MUSHA" <knu@...> 2009/05/10

At Sun, 10 May 2009 10:08:47 +0900,

[#38524] [Bug #1503] -Kuをつけた時、/[#{s}]/n と Regexp.new("[#{s}]",nil,"n") で実行結果が異なる — sinnichi eguchi <redmine@...>

Bug #1503: -Kuをつけた時、/[#{s}]/n と Regexp.new("[#{s}]",nil,"n") で実行結果が異なる

8 messages 2009/05/22

[ruby-dev:38451] Re: [Bug:1.9] exact Time and inexact Time

From: Tanaka Akira <akr@...>
Date: 2009-05-14 15:00:48 UTC
List: ruby-dev #38451
In article <e0b1e5700905132145i32bed2f0y80faef19c119824f@mail.gmail.com>,
  Yusuke ENDOH <mame@tsg.ne.jp> writes:

> 現在、Time#- が Rational を返すようになっています。
>
>   $ ./ruby -e 'p Time.now - Time.now'
>   (-7/156250)
>
> しかし、Time.now のように inexact な時刻の差分が、exact の
> ように見える Rational になるのはよくないと思います。

一般に数値計算では、値が持つ誤差よりも充分に高い精度を持って
いる数値表現を使う必要があるんじゃないでしょうか。

たとえば、比較的短い時間を扱う用途では、double は妥当な選択
肢かもしれません。

しかし、異なる Epoch へ変換するという用途では double では充
分でないこともあるでしょう。

どちらも Time 同士の引き算で実現できますが、必要な精度は異な
ります。

ちなみに、Unix Epoch からナノ秒単位で数えると、今の時刻は
double で下のほうのビットを表現できません。なので、double 経
由で他の Epoch に変換して、変換した側で計算すると、精度が落
ちていて適切な値にならない、という可能性もあります。まぁ、具
体的な Epoch と変換のやりかたにもよりますが。

inexact, exact という単純な区別ではなくて、用法によってどの
くらいの誤差が許容できるか、という点を議論する必要があるので
はないでしょうか。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread