https://bugs.ruby-lang.org/
https://bugs.ruby-lang.org/favicon.ico?1711330511
2008-06-12T07:36:18Z
Ruby Issue Tracking System
Ruby master - Bug #123: Time.now <=> SimpleDelegator.new(Time.now)
https://bugs.ruby-lang.org/issues/123?journal_id=128
2008-06-12T07:36:18Z
matz (Yukihiro Matsumoto)
matz@ruby.or.jp
<ul><li><strong>Assignee</strong> set to <i>matz (Yukihiro Matsumoto)</i></li></ul><p>=begin</p>
<p>=end</p>
Ruby master - Bug #123: Time.now <=> SimpleDelegator.new(Time.now)
https://bugs.ruby-lang.org/issues/123?journal_id=785
2008-08-13T16:12:03Z
matz (Yukihiro Matsumoto)
matz@ruby.or.jp
<ul><li><strong>Status</strong> changed from <i>Open</i> to <i>Closed</i></li></ul><p>=begin</p>
<p>=end</p>
Ruby master - Bug #123: Time.now <=> SimpleDelegator.new(Time.now)
https://bugs.ruby-lang.org/issues/123?journal_id=822
2008-08-17T14:48:19Z
wanabe (_ wanabe)
s.wanabe@gmail.com
<ul></ul><p>=begin<br>
ワナベと申します。</p>
<p>2008/06/09 15:56 Tanaka Akira <a href="mailto:akr@fsij.org" class="email">akr@fsij.org</a>:</p>
<blockquote>
<p>Time.now <=> SimpleDelegator.new(Time.now) が nil になるのは<br>
SimpleDelegator.new(Time.now) <=> Time.now がそうならないの<br>
と違ってよろしくないんじゃないでしょうか。</p>
</blockquote>
<p>パッチを書いてみましたが rb_funcall が多く、結果がコストに見合っていない気がします。<br>
なにか良い方法をご存知の方は教えていただけるとありがたいです。</p>
<a name="Index-timec"></a>
<h1 >Index: time.c<a href="#Index-timec" class="wiki-anchor">¶</a></h1>
<p>--- time.c (revision 18196)<br>
+++ time.c (working copy)<br>
@@ -1087,7 +1087,16 @@<br>
if (tobj1->ts.tv_sec > tobj2->ts.tv_sec) return INT2FIX(1);<br>
return INT2FIX(-1);<br>
}</p>
<ul>
<li>
<p>else if (RTEST(rb_funcall(time2, rb_intern("kind_of?"), 1, rb_cTime))) {</p>
</li>
<li>
<p>VALUE tmp = rb_funcall(time2, rb_intern("<=>"), 1, time1);</p>
</li>
<li>
<p>if (NIL_P(tmp)) return Qnil;</p>
</li>
<li>
<p>if (!FIXNUM_P(tmp)) {</p>
</li>
<li>
<pre><code> return rb_funcall(LONG2FIX(0), '-', 1, tmp);
</code></pre>
</li>
<li>
<p>}</p>
</li>
<li>
<p>return LONG2NUM(-FIX2LONG(tmp));</p>
</li>
<li>
<p>}</p>
</li>
<li>
<p>return Qnil;<br>
}</p>
</li>
</ul>
<p>--<br>
ワナベ</p>
<p>=end</p>