在Elixir文档中,他们继续使用带斜杠的奇数表示法,例如:
is_boolean/1
IO.puts/1
String.length/1
is_function/2
++/2
我只是猜测,但我认为它指的是arity。但如果是这样的话,为什么魔鬼在文档的任何地方都没有提到?这不是IT中的任何标准惯例(至少,我在IT工作的20多年里从未见过的那种)。
答案 0 :(得分:17)
来自使用入门文档的page 2, Basic types:
注意:Elixir中的函数由名称和参数数量(即arity)标识。因此,
is_boolean/1
标识名为is_boolean
的函数,该函数接受1个参数。is_boolean/2
标识具有相同名称但不同arity的不同(不存在)函数。
Erlang/Elixir Syntax: A Crash Course:
中也对此进行了描述这里我们创建一个名为
hello_module
的模块。在其中我们定义了三个函数,前两个函数可供其他模块通过顶部的export
指令调用。它包含一系列函数,每个函数都以<function name>/<arity>
格式编写。 Arity代表争论的数量。
我可能会推测,这往往会降级为Elixir文献中的旁注,因为它直接来自Erlang。虽然使用Elixir不需要Erlang知识,但是当人们记录Elixir派生的软件来自Erlang时,这种遗漏是一个常见的错误。
答案 1 :(得分:3)