From: matz@... (Yukihiro Matsumoto) Date: 2001-05-30T23:31:50+09:00 Subject: [ruby-list:29902] Re: module::method() と methid() の違いは ? まつもと ゆきひろです In message "[ruby-list:29901] Re: module::method() と methid() の違いは ?" on 01/05/30, 岡 保嗣 writes: |include CntAccすれば、CntAcc::send_apmsg()とsend_apmsg()は同じ動作をすると |予想してたのですが、それがどうも違うようです。 呼び出されるところまでは同じなんですが。レシーバが違うでしょ う? CntAcc::send_apmsg()ではレシーバはCntAccだし、レシーバ を省略したsend_apmsg()ではレシーバはmain(トップレベルのself) になります。レシーバが違えばインスタンス変数が違うのです。 インスタンス変数はそういうものです。 そういう場合に値を共有したいのであれば、クラス変数を使うのは どうでしょう。@を@@に書き換えるわけですが、今度は共有しちゃ うので全体でひとつの制御線しか扱えないことになりますね。 まつもと ゆきひろ /:|)