più leggero e anche meno a seconda del formato di stacktrace che può cambiare di tanto in tanto, io preferisco usare process_info/2
:
{_, {Module, Function, Arity}} = process_info(self(), current_function)
In Function
troverete il nome della funzione come un atomo e si ottiene il Module
e lo Arity
anche. Non puoi scrivere questo come funzione perché restituirebbe questa funzione come corrente. Una macro che si dà il nome della funzione corrente come atomo potrebbe apparire come:
-define(current_function_name(),
element(2, element(2, process_info(self(), current_function)))).
foo() ->
foo = ?current_function_name().
fonte
2012-07-15 19:16:49
possibile duplicato di [? Come ottenere il nome di una funzione] (http://stackoverflow.com/questions/4915339/how- to-get-il-nome-di-un-funzione) –