Kam*_*han 3 elixir phoenix-framework
我对 Elixir/phoenix 很陌生。我有这样的功能
defp get_list(old_result, filter) do
MY.Model.search_name(filter)
|> Enum.concat(old_result)
end
Run Code Online (Sandbox Code Playgroud)
现在,为了使其更具可重用性,我想将 的引用传递Model
给函数,使其类似于:
defp get_list(old_result, filter, AnotherModel) do
MY.AnotherModel.search_name(filter)
|> Enum.concat(old_result)
end
Run Code Online (Sandbox Code Playgroud)
但当然上面的功能是行不通的。我怎样才能做到这一点?
您可以将完整的模块名称作为普通参数传递,如下所示:
defmodule A do
def get_list(old_result, filter, some_module) do
filter
|> some_module.search_name
|> Enum.concat(old_result)
end
end
A.get_list(old_result, filter, MY.AnotherModule)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2672 次 |
最近记录: |