[#43610] Re: [ruby-list:48149] Re: requireが配列を取れたら便利だと思うんだけど.. — Hiroshi Nakamura <nakahiro@...>

cnVieS1saXN0GyRCJCskaTt9JEMkRk1oJF4kNyQ/ISMkRyRiQjMkKyRKJD0kJiEjGyhCCgoyMDEx

12 messages 2011/06/02

[#43643] DateTime.new! and DateTime.jd — Aaron Patterson <aaron.patterson@...>

こんにちは、アーロンです。

25 messages 2011/06/07
[#43647] Re: DateTime.new! and DateTime.jd — Tadayoshi Funaba <tadf@...> 2011/06/07

blocker はお前だろ。

[#43648] Re: DateTime.new! and DateTime.jd — Yukihiro Matsumoto <matz@...> 2011/06/07

まつもと ゆきひろです

[#43651] Re: DateTime.new! and DateTime.jd — Tadayoshi Funaba <tadf@...> 2011/06/07

> うーん、ただでさえ日英のコミュニケーション障壁があるのに、よ

[#43653] Re: DateTime.new! and DateTime.jd — Aaron Patterson <aaron.patterson@...> 2011/06/07

2011/6/7 Tadayoshi Funaba <tadf@dotrb.org>:

[#43657] Re: DateTime.new! and DateTime.jd — Tadayoshi Funaba <tadf@...> 2011/06/07

皆さんってのに俺は入ってないみたいだな。

[#43661] Re: DateTime.new! and DateTime.jd — Yukihiro Matsumoto <matz@...> 2011/06/07

まつもと ゆきひろです

[#43662] Re: DateTime.new! and DateTime.jd — Tadayoshi Funaba <tadf@...> 2011/06/07

> Aaronが言ってる「リリース」は1.9.3のことだと思いますよ。

[#43645] Re: [ruby-core:36778] Re: 1.8.7 release next month — Urabe Shyouhei <shyouhei@...>

Moving to ruby-dev to understand strategies of backporting the Tk

13 messages 2011/06/07

[#43787] [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Kenta Murata <muraken@...>

24 messages 2011/06/13
[#43788] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yukihiro Matsumoto <matz@...> 2011/06/13

まつもと ゆきひろです

[#43789] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/13

もう結論が出てしまったようですが、これは、元々 lib/complex.rb にあった

[#43794] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Kenta Murata <muraken@...> 2011/06/13

=E3=82=80=E3=82=89=E3=81=9F=E3=81=A7=E3=81=99=E3=80=82

[#43795] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/13

> complex.rb をロードすると Math が CMath 相当に置き換わりますから、

[#43797] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Kenta Murata <muraken@...> 2011/06/14

=E3=82=80=E3=82=89=E3=81=9F=E3=81=A7=E3=81=99=E3=80=82

[#43799] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yukihiro Matsumoto <matz@...> 2011/06/14

まつもと ゆきひろです

[#43800] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Kenta Murata <muraken@...> 2011/06/14

=E3=82=80=E3=82=89=E3=81=9F=E3=81=A7=E3=81=99=E3=80=82

[#43803] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/14

> これに相当する事をやっているのが complex.rb なので、

[#43806] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yusuke ENDOH <mame@...> 2011/06/14

遠藤です。

[#43807] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/14

> 定義域を増やすだけにしよう、ということですよね。賛成です。

[#43809] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yusuke ENDOH <mame@...> 2011/06/14

2011年6月14日22:17 Tadayoshi Funaba <tadf@dotrb.org>:

[#43810] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/14

> 互換性がないという点では同じ話だと思うのですが……。

[#43811] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Yusuke ENDOH <mame@...> 2011/06/14

2011年6月14日23:02 Tadayoshi Funaba <tadf@dotrb.org>:

[#43812] Re: [Ruby 1.9 - Feature #4878][Open] CMath に frexp, ldexp, hypot の3関数は不要ではないか — Tadayoshi Funaba <tadf@...> 2011/06/14

> いやあ、5 月末の feature freeze 時点では -2 を返していたはずなんですが、

[#43852] [Ruby 1.9 - Bug #4909][Open] trapハンドラは再入されてはいけないのではないか? — Motohiro KOSAKI <kosaki.motohiro@...>

11 messages 2011/06/20

[ruby-dev:43861] Date/DateTimeの仕様について

From: "NARUSE, Yui" <naruse@...>
Date: 2011-06-21 04:09:15 UTC
List: ruby-dev #43861
ふなばさん
成瀬です。

RubySpec を眺めていていくつか気づいたことがあるので質問させてください。

まず、DateTime.new の第3~6引数に端数を与えた場合ですが、
irb(main):002:0> DateTime.new(4172,1,1,Rational(1,2))
=> #<DateTime: 4172-01-01T00:30:00+00:00 ((3244852j,1800s,0n),+0s,2299161j)>
irb(main):003:0> DateTime.new(4172,1,1,Rational(1,2),0)
ArgumentError: invalid fraction
irb(main):004:0> DateTime.new(4172,1,1,1.5)
=> #<DateTime: 4172-01-01T01:30:00+00:00 ((3244852j,5400s,0n),+0s,2299161j)>
irb(main):005:0> DateTime.new(4172,1,1,1.5,0)
ArgumentError: invalid fraction
以上は 1.9.2 では全て通るのですが、仕様変更でしょうか。
以下のパッチを当てると以前の挙動に戻るようですが。
diff --git a/ext/date/date_core.c b/ext/date/date_core.c
index cd2bc68..0ae553b 100644
--- a/ext/date/date_core.c
+++ b/ext/date/date_core.c
@@ -3071,8 +3071,6 @@ s_trunc(VALUE s, VALUE *fr)
 {\
     s = s##_trunc(v##s, &fr);\
     if (f_nonzero_p(fr)) {\
-       if (argc > n)\
-           rb_raise(rb_eArgError, "invalid fraction");\
        fr2 = fr;\
     }\
 }
@@ -3081,8 +3079,6 @@ s_trunc(VALUE s, VALUE *fr)
 {\
     s = NUM2INT(s##_trunc(v##s, &fr));\
     if (f_nonzero_p(fr)) {\
-       if (argc > n)\
-           rb_raise(rb_eArgError, "invalid fraction");\
        fr2 = fr;\
     }\
 }


次に、DateTime.newの第4引数に24を与えた場合について、
irb(main):002:0> DateTime.new(4172,1,1,23)
=> #<DateTime: 4172-01-01T23:00:00+00:00 ((3244852j,82800s,0n),+0s,2299161j)
irb(main):003:0> DateTime.new(4172,1,1,24)
=> #<DateTime: 4172-01-01T23:00:00+00:00 ((3244853j,0s,0n),+0s,2299161j)>
irb(main):002:0> DateTime.new(4172,1,1,24).hour
=> 24
irb(main):003:0> DateTime.new(4172,1,1,24).day
=> 1
irb(main):004:0> DateTime.new(4172,1,2)
=> #<DateTime: 4172-01-02T00:00:00+00:00 ((3244853j,0s,0n),+0s,2299161j)>
以前から引数としてhour=24のみ許されているんですが(閏秒対策?)、
現在は繰り上がらないようになっています。
これ自体は仕様変更ならばそれでいいのですが、
だとしても inspect 結果がおかしいように見えます。

なお、1.9.2 だと以下のとおり両方とも翌日0時になります。
irb(main):002:0> DateTime.new(4172,1,1,24)
=> #<DateTime: 4172-01-02T00:00:00+00:00 (6489705/2,0,2299161)>
irb(main):003:0> DateTime.new(4172,1,2,0)
=> #<DateTime: 4172-01-02T00:00:00+00:00 (6489705/2,0,2299161)>
irb(main):002:0> DateTime.new(4172,1,1,24).hour
=> 0
irb(main):003:0> DateTime.new(4172,1,1,24).day
=> 2

-- 
NARUSE, Yui  <naruse@airemix.jp>

In This Thread

Prev Next