[前][次][番号順一覧][スレッド一覧][生データ]

yarv-dev:776

From: Yukihiro Matsumoto <matz ruby-lang.org>
Date: Mon, 9 Jan 2006 11:04:12 +0900
Subject: [yarv-dev:776] Re: cref with include module

まつもと ゆきひろです

On 1/9/06, SASADA Koichi <ko1 atdot.net> wrote:

> > 定数の検索順序は
> >
> >   自クラス
> >   その一つ外側
> >   あとはancestorを順次検索
> >
> > です。ですから、lexicalではないです。
>
>  なるほど.include すると,M::A が C::A とアクセスできるので「自クラ
> ス」がAを持っており,それを返した,ということですか.
>
> ただ,その場合,
>
> module M
>   A = :M_A
> end
>
> class C
>   class A
>     include M
>     p A       #=> C::A
>   end
> end
>
> p C::A::A     #=> :M_A
>
> となるのは,なんとなく統一していないような気がするのですがどうでしょうか.

「::」でアクセスする場合、「その一つ外側」がありえないので、
飛ばされてしまうからですね。現状、「しょうがない」と思ってま
す。より良いアイディアはいつも歓迎ですが。

-- 
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧][生データ]

       773 2006-01-08 12:32 [ko1 atdot.net       ] cref with include module                
       774 2006-01-08 19:52 ┗[matz ruby-lang.org  ]                                       
       775 2006-01-09 01:47  ┗[ko1 atdot.net       ]                                     
->     776 2006-01-09 11:04   ┗[matz ruby-lang.org  ]                                   
       797 2006-02-02 04:27    ┗[ko1 atdot.net       ]                                 
       912 2006-02-17 17:49     ┗[matz ruby-lang.org  ]