まつもと ゆきひろです

In message "[ruby-dev:7790] Re: rb2c"
    on 99/09/02, Kazuhiro HIWADA <hiwada / kuee.kyoto-u.ac.jp> writes:

|> また、重要な非互換として静的なスコープの定数参照の機能があり
|> ません。これを使ってるのは全滅ですね。これはcrefの管理とかが
|> 必要なのでちょっと面倒ですねえ。
|
|がーん、なんとか誤魔化したつもりだったんですが… ^^;;。
|
|「静的なスコープの定数参照」っていうのが具体的にどういう場合に相当する
|のかがわからないのですが…(sample scriptとかを示して貰えると嬉しい)。
|
|ruby_frame->cbase->cref が 0 でもなんとか動くことを期待してるのがやは
|りまずいでしょうか…。

いやあ、普通はあんまりまずくないんですが、

  class Foo
    Const1=42
    class Bar   # Fooとは継承関係に無い
      p Const1  # でも参照できる
      def bar
        p Const1 # ここでも
      end
    end
  end

のように外側のクラスの定数を参照できちゃったりするんで、ネス
トする場合に明示的にcrefの連鎖を作ってやらないとスーパークラ
スを遡る参照しかできないんですよね。

あ、そうそう。requireを特別扱いして明示的に取り込むようにす
ると1ファイル化に有効ですよね。DLLをどうやってリンクするかは
謎のままですが。
                                まつもと ゆきひろ /:|)