[ruby-list:50865] __id__ メソッドでの super について
From:
Akret Node <node.akret@...>
Date:
2019-12-31 18:10:32 UTC
List:
ruby-list #50865
のぐちです。
あけましておめでとうございます。
class BasicObject
def self.__id__
super
end
end
p BasicObject.__id__ #=> 47444468263960
BasicObject には親クラスがないはずですが self.__id__ の中で super
を読んでみると正しくオブジェクトIDが取得できているようです。これはどのような理屈で取得できているのでしょうか?
親クラスに同名のメソッドがなければ、「no superclass method `xxx' for 'yyy'」と例外になるはずですが、上記ではなりません。。。