From: matz@... (Yukihiro Matsumoto) Date: 2002-07-27T03:47:14+09:00 Subject: [ruby-dev:17848] Re: self in block まつもと ゆきひろです In message "[ruby-dev:17845] Re: self in block" on 02/07/27, masaki writes: |"define_method を使えば self の切替えはできる。" |以下の話はこれが正しいことを前提にします。 define_methodかあるいはinstance_evalを使えばselfの切り替えは できます。selfの切り替えに伴って、インスタンス変数の所属する オブジェクトやレシーバを省略した形式のメソッド呼び出しの対象 も切り替わります。 ||せっかく「ということですね」とまとめてくださいましたが、私が ||そんなことを発言しましたっけ? あるいはほかの誰かが。 | |これは |"context を切替える method を用意する" |という提案ならば反対はしないということでしょうか? これは、正木さんの「context」という用語が意味するものを把握 できていませんので、なんともいえません。contextがselfの切り 替え(と上記で述べたそれにともなう変化)だけを意味するのでした ら、答えは「すでにあります」です。 ついでにいうと、組み込みメソッドとしてこれら以外に新しくself の切り替えを実現するメソッドを定義するつもりはありません。 ただ、どうも正木さんのおっしゃるcontextにはself以外に、ロー カル変数のスコープとかいうようなものまで含んでいるような気が してなりません。そうでしたら、それらをまとめて切り替えるよう なものは用意しません。それらは、私の認識では、別のものだから です。 まつもと ゆきひろ /:|)