初识Erlang,Hello World(3)
by cnDenis 2013年3月15日
今天不只要对World说Hello,还要对别人说Hello
hw(Who) ->
io:format("Hello ~p ~n", [Who]).
平平无奇的一个函数,对Who说Hello
如果要对一组人说Hello,可以这么做:
hw10(L) ->
[hw(X) || X <- L].
hw10() ->
L = ["ali", "bob", "cat"],
hw10(L).
上面是用了列表解析的方法。
也可以用lists:map,效果和上面是一样的
hw11(L) ->
lists:map(fun hw/1, L).
hw11() ->
L = ["ali", "bob", "cat"],
hw11(L).
另一个很相似的做法是lists:foreach:
hw14(L) ->
lists:foreach(fun hw/1, L).
hw14() ->
L = ["ali", "bob", "cat"],
hw14(L).
这两种做法有什么区别呢?看看输出:
2> helloworld:hw11().
Hello "ali"
Hello "bob"
Hello "cat"
[ok,ok,ok]
10> helloworld:hw14().
Hello "ali"
Hello "bob"
Hello "cat"
ok
虽然map和foreach都是把同一个函数作用在列表的每一个元素上, map是会生成一个新的列表来存储结果并返回,(由于hw/1的值就是ok,所以会得到包含3个ok的列表) 而foreach仅会返回ok。
不使用Lists模块的话,可以这么做:
hw12([H|T]) ->
hw(H),
hw12(T);
hw12([]) ->
ok.
hw12() ->
L = ["ali", "bob", "cat"],
hw12(L).
这是Erlang中最常见的Head|Tail写法了吧。
也可以用case改写上面的函数
hw13(L) ->
case L of
[] -> ok;
[H|T] -> hw(H),
hw13(T)
end.
hw13() ->
L = ["ali", "bob", "cat"],
hw13(L).
相关推荐
esl-erlang_23.0和rabbitmq-3.8.4windows版本 直接下载安装就行,可以直接下载就可安装,非常的方便...4. erlang安装后要检查能否编译成功一个helloworld文件。 5. rabbitMQ无法安装插件时非常有可能是erlang出问题了。
erlang入门电子书 erlang编程 Introducing Erlang,作者Simon.St.Laurent
erlang 安装包
Erlang23_3,windows32为64位,linux版本
Erlang及其应用Erlang及其应用Erlang及其应用
erlang学习3erlang学习3erlangerlang学erlang学习3习3学习3
ErlangB和ErlangC计算工具(exe可执行文件+excel两个) ErlangB和ErlangC计算工具(exe可执行文件+excel两个)
erlang25.0 windows版本
erlang otp25 win安装包
erlang22最新下载包 erlang22.1.tar.gz erlang22最新下载包 erlang22最新下载包
Erlang并发编程,Erlang程序设计,Erlang中文手册。 学习erlang的好资料。 Erlang是一个结构化,动态类型编程语言,内建并行计算支持。最初是由爱立信专门为通信应用设计的,比如控制交换机或者变换协议等,因此...
erlang 中文基础教程erlang 中文基础教程
erlang安装包
erlang资源,非常值得下载,二郎学习
erlang文献及资料汇总 入门资料: erlang中文手册(R11B 文档译文,最适合入门) erlang位运算与二进制解析 erlang二进制高效编程 erlang异常处理详解 开发经验: 面对软件错误构建可靠的分布式系统 编写分布式的 ...
通过对Erlang VM的内部部件的解刨, 能够对VM的运作原理有个深度的把握和了解, 对系统的设计和实现(转)
Erlang特性: ● 并发性 - Erlang支持超大量级的并发进程,并且不需要操作系统具有并发机制。 ● 分布式 - 一个分布式Erlang系统是多个Erlang节点组成的网络(通常每个处理器被作为一个节点) ● 健壮性 - Erlang...
Programming Erlang
This package contains the Erlang/OTP runtime implementation, which is configured and built with HiPE support (allows compiling to native code), and minimal set of Erlang applications: compiler - ...