procRubyのメソッドからtrueを取得する方法はありますか?
取得したUnboundMethodviainstance_methodは、メソッドを宣言したクラスのオブジェクトにしかバインドできないため、法案に適合しません。selfメソッド本体の内部をproc(を使用して)のように再解釈することはできませんinstance_exec。
同様に、Method取得したviamethodはself、の受信者にバインドされており、method変更できないため、問題ありません。
編集(明確化):
私がやろうとしているのは、あるクラスで定義されたメソッドを取得して、それを別のクラスに転送することです。selfこれは、メソッド内の意味を再解釈できる必要があることを意味します。sの場合、これはandprocを介して可能ですが、メソッドの場合は不可能です。instance_execinstance_eval
メソッドをあるクラスから別のクラスに移動しようとしているのはなぜですか?簡単に言うと、名前空間の形式を実装するために、Rubyによって提供される可視性コントロールに最も不満があります(モジュールメンバーを包含クラスに隠す方法はありません)。ただし、これはこの質問の範囲をはるかに超えています。