您的位置:首页 > 其它

LYSE-高阶函数

2015-11-27 20:38 337 查看
将函数作为参数

一个定义的例子

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

one() -> 1.
two() -> 2.

add(X,Y) -> X() + Y().


使用

1> c(hhfuns).
{ok, hhfuns}
2> hhfuns:add(one,two).
** exception error: bad function one
in function  hhfuns:add/2
3> hhfuns:add(1,2).
** exception error: bad function 1
in function  hhfuns:add/2
4> hhfuns:add(fun hhfuns:one/0, fun hhfuns:two/0).
3


匿名函数

语法

fun(参数1) ->
表达式1, 表达式2, ..., 表达式N;
(参数2) ->
表达式1, 表达式2, ..., 表达式N;
(参数3) ->
表达式1, 表达式2, ..., 表达式N
end


例子

7> Fn = fun() -> a end.
#Fun<erl_eval.20.67289768>
8> Fn().
a
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: