トップ «前の日記(2006-08-22) 最新 次の日記(2006-08-26)» 編集

活動日誌


2006-08-25

[Ruby]module で参照する定数を、include するクラス側で決めたい

普通に X と書くと参照できないので、self.class::X のようにする。

irb(main):001:0> module M
irb(main):002:1>   def f; p self.class::X; end
irb(main):003:1> end
=> nil
irb(main):004:0> class C
irb(main):005:1>   X = 'x'
irb(main):006:1>   include M
irb(main):007:1> end
=> C
irb(main):008:0> C.new.f
"x"
=> nil

定数参照のルールはよく分かっていないなあ。

include が絡んだときの話ってリファレンスマニュアルにはないのだろうか。

Rubyリファレンスマニュアル - 変数と定数 ruby-list:42599


2005|02|03|04|05|06|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|03|04|05|06|10|
2008|04|10|
2009|10|
2010|05|08|
2012|01|02|03|
2014|01|
2022|05|
トップ «前の日記(2006-08-22) 最新 次の日記(2006-08-26)»