Elixir是否支持内省以显示可用功能?

时间:2015-12-29 11:39:29

标签: elixir

请考虑Programming Phoenix中的此片段:

defmodule Rumbl.VideoController do
  use Rumbl.Web, :controller

  def index(conn, _params) do
    videos = Repo.all(Video)
    render(conn, "index.html", videos: videos)
  end

end

index使用render函数,该函数来自use Rumbl.Web, :controller触发的导入。

我知道还导入了其他功能。但Elixir是否提供了列出它们的方法?

我可以在Elixir中列出当前范围的可用功能吗?

1 个答案:

答案 0 :(得分:9)

您可以从__ENV__宏获取此类信息。

该结构中最有趣的字段是functionsmacros,它们包含当前可用函数和宏的列表以及它们源自的模块。