Gibt es eine Möglichkeit, die Zeichenfolgendarstellung des vollständig qualifizierten Pfades zu der Methode zu erhalten?Erhalten Sie den vollständig qualifizierten Namen der Methode
folgende IRB-Sitzung vor:
> foo = File.stat("/")
> magic(foo.ctime) or foo.ctime.magic
=> "File::Stat#ctime"
Gibt es eine eingebaute Funktion, die die "Magie" tut? Wenn nicht, kann ich die Zeichenfolge dynamisch durch eine Reflektion abrufen?
Hinweis: Ich bin mir dieser question bewusst, aber ich kann den Hebel nicht verwenden.
genial, danke –
@mudasobwa Methode vollständige Namen zu bauen, ohne regexp mit uns 'method = foo.method verwenden könnten (: ctime) # => Datei :: Stat # ctime() full_method_name = "# {methodenbesitzer.name} ## {method.name}" # => "Datei :: Stat # ctime" ' –
Ich dachte, dass es einen besseren Weg als die Regexp geben sollte, und begann auch diesen Pfad - aber es sieht so aus, als ob #name tatsächlich auf eingebauten Core-Methoden fehlschlägt, die in diesem Fall in C implementiert sind? Vielleicht ist es ein Fehler? 'File.method (: ctime) .eigner.name # => nil'. Was? – jrochkind