Ruby 初心者スレッド Part 50
■ このスレッドは過去ログ倉庫に格納されています
0019デフォルトの名無しさん
2012/08/02(木) 02:18:49.44・ トップレベルに定義されたメソッドと定数は Object に所属することになっている(これはとりあえずそういうものだと理解する)
・ が、モジュール M に対する M.ancestors は [M] だけを返し、Object が含まれていないので Object が見えないはずでは?
てきとーな回答
irb> module M; end
irb> p M.class
Module
irb> p M.class.superclass
Object
superclass の定数がインスタンス内から読めるのは当たり前
…という説明で納得して頂けますでしょうか
たぶんもっとわかりやすくて本質的な説明をしてくれる勇者様がきっと
irb> class SUPERCLASS; end
irb> class CLASS < SUPERCLASS; end
irb> o = CLASS.new
irb> SUPERCLASS.const_set(:CONST,"superclass!")
irb> p o.class
CLASS
irb> p o.class.superclass
SUPERCLASS
irb> class << o; p CONST; end
"superclass!"
■ このスレッドは過去ログ倉庫に格納されています