11
-export([consult/1,
         dump/2, 
         first/1, 
         for/3,
         is_prefix/2).

我正在阅读文档并与上面的语法混淆。/1上面列表中的, /2,是什么意思/3

4

2 回答 2

16

/1, /2, /3等被称为函数的“Arity”,Arity 表示该函数接受的参数数量。

在 Erlang 中,两个同名但元数不同的函数是两个不同的函数,因此每个函数都是显式导出的。引用Erlang 文档是这样说的:

函数由模块名称、函数名称和arity唯一定义。

例如,如果您有两个函数:

do_something() -> does_something().

do_something(SomeArg) -> some_something_else(SomeArg).

在你的模块顶部,你只有

-export([do_something/0]).

然后只会导出带有零参数的 do_something(即,可以从系统中的其他模块访问)。

于 2012-11-28T04:05:45.850 回答
1

它是函数签名。

consult/1表示名为的函数consult接受一个参数。dump/2表示该函数dump接受两个参数。

查阅文档以获取更多信息

于 2012-11-28T03:58:08.637 回答