具有相同数量的函数的文档

Dan*_*man 6 elixir

我有两个函数,具有相同的数量。目前,如果我打电话,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)

Eri*_*son 5

你实际上有一个带有多个子句的函数。一个函数由一个名称和一个参数标识,一个模块中不能有多个函数具有相同的名称+参数。这就是为什么您的文档仅显示第一个函数子句的原因。

在 Elixir 上有一个未解决的问题,用于在以下情况下发出警告:https : //github.com/elixir-lang/elixir/issues/3707

  • 是的,单个 `@doc` 并且我通常在子句之间有一行。:) (2认同)