erlang导出语法/ x理解

时间:2012-11-28 03:53:18

标签: erlang

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

MEGA-关于二郎的兴奋。我正在阅读文档并与上面的语法混淆。上面列表中/ 1,/ 2,/ 3的含义是什么?

感谢, 梅德

2 个答案:

答案 0 :(得分:12)

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

在Erlang中,具有相同名称但具有不同arity的两个函数是两个不同的函数,因此每个函数都是显式导出的。

例如,如果您有两个功能:

do_something() -> does_something().

do_something(SomeArg) -> some_something_else(SomeArg).

在您的模块顶部,您只有

-export([do_something/0]).

然后只导出零参数的do_something(也就是说,可以从系统中的其他模块访问)。

答案 1 :(得分:1)

这是功能签名。

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

有关详细信息,请参阅documentation