我有两个函数,具有相同的数量。目前,如果我打电话,h foo/1我只会得到第一个函数的文档(或函数签名)。有没有办法指定foo/1我对哪个感兴趣?有没有办法向@doc函数添加注释来帮助解决这个问题?下面真的很愚蠢的示例代码,减去任何@doc注释。
def foo(bar) when is_binary(bar) do
.
.
.
end
def foo(bar) when is_number(bar) do
.
.
.
end
Run Code Online (Sandbox Code Playgroud)
你实际上有一个带有多个子句的函数。一个函数由一个名称和一个参数标识,一个模块中不能有多个函数具有相同的名称+参数。这就是为什么您的文档仅显示第一个函数子句的原因。
在 Elixir 上有一个未解决的问题,用于在以下情况下发出警告:https : //github.com/elixir-lang/elixir/issues/3707。