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}}