首页 > 其他 > 详细

LYSE-高阶函数

时间:2015-11-27 21:48:04      阅读:343      评论:0      收藏:0      [点我收藏+]

将函数作为参数

一个定义的例子

-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

 

LYSE-高阶函数

原文:http://www.cnblogs.com/sqxy110/p/5001675.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!