ルビー2.2モジュールに含まれているルビー方式のシンボルへのアクセス
にmodule A
def self.a
"a"
end
end
を考えるとどのように私はので、私は変数に割り当てることができますし、後でそれを呼び出すA.a
にアクセスできますか?
x = A::a.to_sym
send x # NoMethodError: undefined method `a' for main:Object
次作品:私は次のことを試してみました
x = -> { A.a }
x.call
私は配列に名前空間機能と非名前空間の両方の機能を持っているので、私はでこれを行うことができます方法はありsend
?
私は本当にあなたがmethod
方法使用して呼び出し可能オブジェクト(ちょうどprocのよう#call
をサポートしていますつまりオブジェクト)を取得することができますinclude A
しかし、何ウル意思だ...なぜuがそれをする必要がありますか? – songyy
上記のコードが 'a'にアクセスすると動作しますが、問題はあなたが呼び出しようとしていることです:メインとそのメソッドはそこに存在しません – nikkypx
songyy、私は別の名前空間に存在する関数のリストを持っています後で実行することができます。 – zhon