From: matz@... (Yukihiro Matsumoto) Date: 1997-10-29T11:44:09+09:00 Subject: [ruby-list:5159] Re: Time.at と Time.gm の違い まつもと ゆきひろです In message "[ruby-list:5152] Time.at と Time.gm の違い" on 97/10/29, Isao Nakagawa writes: |みなさん、はじめまして。中川 功と申します。 はじめまして. |つまり、Time のクラスメソッドで |ある Time.at と Time.gm はサブクラスでの挙動が違う、ということの |ようなのですが、どういう理由でこのような違いが出てくるのでしょうか? これはですね.ミスです.gmやlocalでは生成するクラスをTimeに 決め打ちにしていました.以下にパッチをつけておきます. --- time.c~ Wed Oct 15 16:02:13 1997 +++ time.c Wed Oct 29 11:33:28 1997 @@ -217,3 +217,3 @@ static VALUE -time_gm_or_local(argc, argv, gm_or_local) +time_gm_or_local(argc, argv, gm_or_local, class) int argc; @@ -221,2 +221,3 @@ int gm_or_local; + VALUE class; { @@ -255,3 +256,3 @@ - return time_new_internal(cTime, guess, 0); + return time_new_internal(class, guess, 0); @@ -262,8 +263,8 @@ static VALUE -time_s_timegm(argc, argv, obj) +time_s_timegm(argc, argv, class) int argc; VALUE *argv; - VALUE obj; + VALUE class; { - return time_gm_or_local(argc, argv, 1); + return time_gm_or_local(argc, argv, 1, class); } @@ -271,8 +272,8 @@ static VALUE -time_s_timelocal(argc, argv, obj) +time_s_timelocal(argc, argv, class) int argc; VALUE *argv; - VALUE obj; + VALUE class; { - return time_gm_or_local(argc, argv, 0); + return time_gm_or_local(argc, argv, 0, class); }