Dans Erlang existe-t-il un moyen de référence à la fonction en cours d'exécution)?Erlang: comment puis-je faire référence à une fonction anonyme dans le corps?
Ce serait utile pour frayer une boucle infinie:
spawn(fun() -> do_something, this_fun() end)
En JavaScript arguments.callee
exactement ce que fait, voir la spécification sur MDC.
Modifier pour répondre à la question «pourquoi voudriez-vous faire cela»: surtout curiosité; il est également utile de définir une minuterie lorsque prorotyping:
Self = self(),
spawn(fun() -> Self ! wake_up, receive after 1000 -> nil end, this_fun() end),
%% ...
Pourquoi auriez-vous besoin de ça? – zakovyrya
Il a également été répondu à cette question: http://stackoverflow.com/questions/867418/how-do-you-write-a-fun-thats-recursive-in-erlang/867525#867525 –
"Funs with Names ": http://www.erlang.org/eeps/eep-0037.html, qui a été fusionné à Erlang fin 2012. –