语法功能进入Erlang

时间:2014-03-10 09:10:50

标签: erlang

我有一个写入记事本的模块:

-module(hhfuns).
-compile(export_all).

one() -> 1.
two() -> 2.
add(X,Y) - X() + Y().

我把它保存为hhfuns.erl。当我运行Ok时,我打电话给:

hhfuns:add(myfun hhfun:one/0, myfun hhfun:two/0).

此命令使语法错误。但当我将 myfun 更改为 fun 时,它起作用了。可能是基本语法,但我是Erlang的新手,所以请为我解释原因。

2 个答案:

答案 0 :(得分:2)

当您从外部模块传递函数作为参数时,您应该使用语法fun Module:Function/Arity。正确版本为hhfuns:add(fun hhfun:one/0, fun hhfun:two/0)fun这里是必填关键字,您不能在此使用myfun

答案 1 :(得分:0)

实际上myfun不是Erlang关键字,而fun是。