稲葉です。 Yukihiro Matsumoto wrote: > > まつもと ゆきひろです > > In message "[ruby-list:15593] クラス定数について" > on 99/07/22, Takashi Nishimoto <g96p0935 / mse.waseda.ac.jp> writes: > > |以下のプログラムを実行したのですが、 > | > |ruby 1.3.5 (1999-07-15) [i586-linux] > |test.rb:16: uninitialized constant Fixnum::Priority (NameError) > | > |と出てしまいます。Fixnum は Numeric のサブクラスなのになぜ Priority 定 > |数を参照できないのでしょうか? > > それは::形式では定数は定義されたそのクラスでしか参照できない > からです。 これはわかったのですが、「じゃclass_evalを使えばいいよね」と思って試し たらblockの場合にうまくいきませんでした。 class Foo; FooConst = "foo"; end class Bar < Foo; end Bar.class_eval " p FooConst " Bar.class_eval { p FooConst } 最初のpは"foo"を返しますが、次のはuninitialized constantのエラーに なったのですが、仕様でしょうか、バグでしょうか? -- 稲葉 浩人 <inaba / st.rim.or.jp>