6
所以我想知道我能否在Elixir中做類似的事情?在Elixir中有沒有類似ruby的send方法?
def some_method(some_param) # a symbol for example
send(some_param)
end
所以我想知道我能否在Elixir中做類似的事情?在Elixir中有沒有類似ruby的send方法?
def some_method(some_param) # a symbol for example
send(some_param)
end
您可以使用Kernel.apply/3。
apply(Enum, :reverse, [[1, 2, 3]])
有了這樣的模塊:
iex(1)> c("apply.ex")
[Apply]
iex(2)> Apply.dynamic(:method1, ["Hey"])
Method 1, called by Hey
:ok
iex(3)> Apply.dynamic(:method2, ["Hey"])
Method 2, called by Hey
:ok
謝謝您的幫助:):
我可以用它的名字調用一個特定的功能 – JustMichael
'apply'類似於'public_send'。如果一個私人函數可以從任何地方被調用,它會類似於發送,對嗎? – Eduardo