Lassen Sie uns ein einfaches Beispiel folgende haben:Wie kann man herausfinden, von welcher Zeilennummer die Methode in Ruby aufgerufen wurde?
def funny_function(param)
lineNumber = __LINE__ # this gives me the current line number
puts lineNumber
end
Wie wir sehen, kann ich die aktuelle Zeilennummer erhalten. Allerdings ist meine Frage, gibt es eine nicht-intrusive Möglichkeit, um herauszufinden, aus welcher Zeile Nummer (und sogar eine Datei) die Methode aufgerufen wurde?
Nicht-intrusive Bedeutung, dass ich wissen, dass nicht die Methode Benutzer will, sie hat nur die param
Parameter zu liefern, z.B .:
funny_function 'Haha'
Vielleicht so etwas wie caller.__LINE__
?
Was ist falsch an der Antwort der 'caller' Methode? – spickermann
'caller' gibt den aktuellen Ausführungsstapel im folgenden Format zurück:' file: line: in \ 'method''. Was stimmt damit nicht? –
wollte einfach nicht es –