[#40551] Net::IMAPで既に存在するディレクトリが削除できない — 内木場 美次 <uchikoba@...>

お疲れ様です。内木場です。

13 messages 2005/01/21

[#40580] enum 定数する場合のイディオム — Hiroshi Takagi <gollum@...>

高木@関西のネットワーク屋%Ruby novice monk です。

12 messages 2005/01/27

[ruby-list:40520] Re: What is singletonclass.superclass ?

From: nobu@...
Date: 2005-01-11 15:20:01 UTC
List: ruby-list #40520
なかだです。

At Tue, 11 Jan 2005 22:30:18 +0900,
sheepman wrote in [ruby-list:40519]:
> 特異クラスに関して質問があります。
> [ruby-dev:23690] で「特異クラスが特異オブジェクトのクラスを継承しない」ように
> なりました。以下のスクリプトで
> 
> class X
> end
> 
> x = X.new
> 
> class << x
>   p self < X           #=> nil
>   p self.superclass  #=> X
> end
> 
> というふうに、self.superclass が X であるのは意図されたことでしょうか。

いや、もちろん見落としです。後者は #<Class:X> になるべきだと思
います。


Index: object.c
===================================================================
RCS file: /cvs/ruby/src/ruby/object.c,v
retrieving revision 1.164
diff -U2 -p -r1.164 object.c
--- object.c	15 Dec 2004 16:01:11 -0000	1.164
+++ object.c	11 Jan 2005 14:54:40 -0000
@@ -1588,4 +1588,7 @@ rb_class_superclass(klass)
 	rb_raise(rb_eTypeError, "uninitialized class");
     }
+    if (FL_TEST(klass, FL_SINGLETON)) {
+	super = RBASIC(klass)->klass;
+    }
     while (TYPE(super) == T_ICLASS) {
 	super = RCLASS(super)->super;


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread