我怎么能看到所有模块的导入&在灵药中定义的功能?

时间:2017-01-03 13:25:36

标签: elixir metaprogramming

我有模块

defmodule There do
  import Othermodule, only: [a: 1]

  def b do
  end
end

我怎样才能获得功能列表a& b

1 个答案:

答案 0 :(得分:1)

您可以将__ENV__ macroDogbert提及的$date = new DateTime($page->meta_value); if (strtotime($page->meta_value) > time()) { echo '<h2><div class="date-title">'; echo $page->post_title.' - '; echo '</div><div class="date-date">'; echo $date->format('d-m-Y').'<br/>'; echo '</div></h2>'; } 结合使用:

Module.__info__(:functions)

如果您删除上一个my_functions = __MODULE__.__info__(:functions) imported_functions = __ENV__.functions |> Enum.filter(fn {module, _functions} -> module != Kernel end) |> Enum.map(&elem(&1, 1)) |> List.flatten (my_functions ++ imported_functions) |> Enum.map(&elem(&1, 0)) |> inspect |> IO.puts ,则会获得Enum.map的关键字列表。