まつもと ゆきひろです

In message "[ruby-ext:00587] unexpected local variable"
    on 99/11/29, ymsd <ymsd / mail.m-net.ne.jp> writes:

|ところが、ここまで処理がくると、
|
|[BUG] unexpected local variable
|
|というメッセージが出てとまってしまいます。

|・どなたか、拡張ライブラリをかいていてこのエラーが出た人は
|いらっしゃいますか?そのときはどのように対処なさいましたか?

いないんじゃないかなあ。これ出すの、結構難しいですよ。

|・一般にこのエラーはどういうときにおきるのでしょうか?
|何に気をつければ回避できるのでしょうか?

ローカル変数を格納している領域が初期化されてない場合にだけ発
生します。

|・このエラーをrubyスクリプトだけで発生させることはできるでしょうか?

無理だと思います。というか、このエラーが発生した時点でRuby
のバグです。だから[BUG]と出してるわけで。

|・特異メソッドを定義するとそのオブジェクトのもともとのクラス
|の下に特殊なクラスがはさまれるということと何か関係があるのでしょうか?

ちょっと分かりません。継承関係よりもスコープに関係のあるエラー
です。Rubyのバグの可能性は高いですが、ソースを見せていただか
ないとなんとも言えません。見せていただいてもBeOSはないので実
行できませんが、あやしい部分を見付けることくらいはできるでしょ
う。

|・例外と[BUG]の違いは何でしょうか?

[BUG]はRubyインタプリタ(あるいは拡張ライブラリ)のバグであっ
てスクリプトのバグではないという意志表示です。

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