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

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

47 messages 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,

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

ujihisaと申します。

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

まつもと ゆきひろです

[#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:38446] [Bug:1.9] exact Time and inexact Time

From: Yusuke ENDOH <mame@...>
Date: 2009-05-14 04:52:19 UTC
List: ruby-dev #38446
遠藤です。

現在、Time#- が Rational を返すようになっています。

  $ ./ruby -e 'p Time.now - Time.now'
  (-7/156250)

しかし、Time.now のように inexact な時刻の差分が、exact の
ように見える Rational になるのはよくないと思います。

Time.gm(2000) などは exact な時刻と考えられますが、それでも
以下で Rational が返るのは好ましくないと思います。

  $ ./ruby -e 'p Time.gm(2000) + 0.1 - Time.gm(2000)'
  (3602879701896397/36028797018963968)

よって Time オブジェクトに exact かどうかをあらわすフラグを
持たせる必要があるのではないでしょうか。


ただ、Time#- が Rational を返してもよいと思われる例は、

  $ ./ruby -e 'p Time.gm(2000) + Rational(1, 2) - Time.gm(2000)'
  (1/2)

くらいしか思いつきません。なので Time#- の結果を常に Integer
または Float にするという選択もあるかもしれません。


とりあえず問題提起と提案です。どう思われますでしょう。

-- 
Yusuke ENDOH <mame@tsg.ne.jp>

In This Thread

Prev Next