[#12164] patch for ext/gdbm — Koji Arai <JCA02266@...>

新井です。

24 messages 2001/02/04
[#12168] Re: patch for ext/gdbm — matz@... (Yukihiro Matsumoto) 2001/02/05

まつもと ゆきひろです

[#12176] Re: patch for ext/gdbm — Koji Arai <JCA02266@...> 2001/02/05

新井です。

[#12179] Re: patch for ext/gdbm — matz@... (Yukihiro Matsumoto) 2001/02/06

まつもと ゆきひろです

[#12219] Re: patch for ext/gdbm — Koji Arai <JCA02266@...> 2001/02/12

新井です。

[#12220] Re: patch for ext/gdbm — Koji Arai <JCA02266@...> 2001/02/12

新井です。

[#12256] set_trace_func — keiju@... (Keiju ISHITSUKA)

けいじゅ@日本ラショナルソフトウェアです.

15 messages 2001/02/17

[#12293] crash on proc without a block — Kenichi Komiya <kom@...1.accsnet.ne.jp>

15 messages 2001/02/25

[#12323] Re: [ruby-list:28364] class definition extension — "K.Kosako" <kosako@...>

ruby-listから移動しました。

13 messages 2001/02/28
[#12324] Re: [ruby-list:28364] class definition extension — matz@... (Yukihiro Matsumoto) 2001/02/28

まつもと ゆきひろです

[ruby-dev:12277] Re: class << self

From: matz@... (Yukihiro Matsumoto)
Date: 2001-02-19 03:56:32 UTC
List: ruby-dev #12277
まつもと ゆきひろです

In message "[ruby-dev:12276] class << self"
    on 01/02/19, Tadayoshi Funaba <tadf@kt.rim.or.jp> writes:

|class Foo
|  FOO = 1
|end
|
|class Bar < Foo
|  def self.x() FOO end
|  class << self; def y() FOO end end
|end
|
|p Bar.x
|p Bar.y
|
|Bar.y から FOO がみえないのってなんか意味があるんでしたっけ?

自クラスで定義されている定数以外は、そのネストの外側のクラス
/モジュールで定義されている定数か、スーパークラスで定義され
ている定数しか見えないからではないでしょうか?

class << self で定義中のBarの特異クラスにとって、Fooはネスト
の外側のクラスでもなく、スーパークラスでもないですから。たと
えば、FOO = 1 をBarの定義中に移動すると参照できます。

なお、定数 FOO でなく、クラス変数 @@FOO なら参照できます。

                                まつもと ゆきひろ /:|)

In This Thread