0
メソッドへの完全修飾パスの文字列表現を取得する方法はありますか?メソッドの完全修飾名を取得
は、IRBのセッションを次の点を考慮
> foo = File.stat("/")
> magic(foo.ctime) or foo.ctime.magic
=> "File::Stat#ctime"
は「魔法」を行い任意の組み込み関数はありますか?もしそうでなければ、リフレクションを行うことで文字列を動的に取得できますか?
注:私はこのquestionを認識していますが、私は使用できません。 Method
のインスタンスを返す
素晴らしい、我々は 'メソッド= foo.methodを使用することができます正規表現を使用しない方法フルネームを構築するためにあなたに –
@mudasobwaに感謝します(:ctime) #=> File :: Stat#ctime() full_method_name = "#{method.owner.name} ## {メソッド名}" #=> "File :: Stat#ctime" ' –
私はregexpよりも良い方法がなければならないと思って、この道もやってみましたが、#nameは実際にはCで実装された組み込みコアメソッドでは失敗します。多分それはバグでしょうか? 'File.method(:ctime).owner.name#=> nil'です。何? – jrochkind