0
一個人怎麼可以這樣做以下:Elixir的Ruby的__method__相當於什麼?
rec = fn ->
receive do
after
1000 -> __function__
end
end
rec.()
凡功能指向當前的功能,類似於方法在Ruby中如何返回一個符號,以當前方法。
一個人怎麼可以這樣做以下:Elixir的Ruby的__method__相當於什麼?
rec = fn ->
receive do
after
1000 -> __function__
end
end
rec.()
凡功能指向當前的功能,類似於方法在Ruby中如何返回一個符號,以當前方法。
旁註:應該沒有任何理由查詢當前函數名。在紅寶石中,我們有__callee__
,這很方便區分別名,,除非在2.3,中破壞,但__method__
本身沒有多大意義。
無論如何,一個可能使用:erlang.process_info/2
:
{:current_function, {module, function, arity}} = \
:erlang.process_info(:erlang.self(), :current_function)
例子:
defmodule A, do: def a, do: :erlang.process_info(:erlang.self(), :current_function)
A.a
#⇒ {:current_function, {A, :a, 0}}