こんにちは、高石です。

つまりmoduleをincludeしても、そのmoduleで定義されていた定数
が、includeしたクラスの定数になるわけではないため、内側のク
ラスからは見えないということですね。なんとなくわかったような
気がします。

# includeすると、そのクラスの定数が上書きされるような感覚だっ
# たのが混乱した原因でした。

いろいろ試してみたところ、

From: matz / ruby-lang.org (Yukihiro Matsumoto)
Subject: [ruby-list:36166] Re: 外側のclassにincludeしたmoduleの定数

> 定数の検索順序は
> 
>   そのクラス/モジュールの定数
>   外側のクラス/モジュールの定数
>   その外側のクラス/モジュールの定数(以下トップまで)
    そのクラス/モジュールにincludeしたモジュールの定数
    そのincludeしたモジュール内でincludeされたモジュールの定数...
>   そのクラスのスーパークラス
    -- 同上 --
>   そのスーパークラス(以下Objectまで)
    -- 同上 --
    
となるようですね。

# includeしたモジュールの定数が外側のクラス/モジュールの定数
# より検索順序が後だというのは結構意外でした。
/--------------------------------------------------------/
  高石 勇人 < rio-t / presen.to >
  PGP Key(RSA): http://rio-t.presen.to/pgp/mykey.asc
         (DSS): http://rio-t.presen.to/pgp/mykey-dss.asc
/--------------------------------------------------------/