免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 9812 | 回复: 12
打印 上一主题 下一主题

[其他] Erlang的Hello World代码 [复制链接]

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-09-01 14:02 |只看该作者 |倒序浏览
-module(hello).
-export([hello_world/0]).

hello_world()->
    io:format("Hello World ~n").

-----------------------------------------------------------------------
And Executing:

hello:hello_world().

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2008-09-01 14:26 |只看该作者

不过我觉得这个不能体现出 erlang 的特色来。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2008-09-01 14:36 |只看该作者
举一个《面向软件错误构建可靠的分布式系统》3.3.15 节的一个例子,
这个例子我觉得非常能够展示 Erlang 的特色之一:模式匹配。

-define(IP_VERSION, 4).
-define(IP_MIN_HDR_LEN, 5).

........
DgramSize = size(Dgram),
case Dgram of
    <<?IP_VERSION:4, HLen:4, SrvcType:8, ToLen:16,
         ID:16, Flags:3, FragOff:13,
         TTL:8, Proto:8, HdrChkSum:16,
         SrcIP:32, DestIP:32,
         RestDgram/binary>> when HLen >= 5, 4*HLen =< DgramSize ->
             OptsLen = 4*(HLen - ?IP_MIN_HDR_LEN),
             <<Opts:OptsLen/binary, Data/binary>> = RestDgram,
             .......

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2008-09-01 16:39 |只看该作者
原帖由 flw 于 2008-9-1 14:26 发表

不过我觉得这个不能体现出 erlang 的特色来。


嗯,我觉得也是。这个看起来就是一个函数,或者也可以说是一个类里的一个函数嘛。

flw那个例子是用来解析一个IPV4报文用的吧?看起来有那么点儿Functional的意思。呵呵,也不知道自己理解的对不对。

完全白手起家型。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2008-09-01 17:30 |只看该作者
对,是用来解析 IPV4 报文用的,
但是它采用了和 C 这种命令式编程语言所不同的思路,
它不用 memcpy 或者位操作、指针操作来识别数据,
而是用参数模式匹配。
Erlang 的参数模式匹配非常强大,
让离开指针就没法活了的 C 程序员看了之后耳目一新:原来同样的需求还可以这样实现!

论坛徽章:
0
6 [报告]
发表于 2008-09-02 21:19 |只看该作者
简直就是在看天书嘛................

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
7 [报告]
发表于 2008-09-02 22:01 |只看该作者
原帖由 flw 于 2008-9-1 17:30 发表
对,是用来解析 IPV4 报文用的,
但是它采用了和 C 这种命令式编程语言所不同的思路,
它不用 memcpy 或者位操作、指针操作来识别数据,
而是用参数模式匹配。
Erlang 的参数模式匹配非常强大,

确实相当强大。

论坛徽章:
0
8 [报告]
发表于 2008-09-05 08:37 |只看该作者
erlang怎么发音?
二懒? 二郎?
还有haskell

论坛徽章:
0
9 [报告]
发表于 2008-09-05 09:07 |只看该作者
it seems to be 饿狼 or 恶狼

haskell 类似粤语中的  吓死他 where 他=(cons (car 他) 巨)

论坛徽章:
0
10 [报告]
发表于 2008-09-06 00:22 |只看该作者
原帖由 caijimin 于 2008-9-5 08:37 发表
erlang怎么发音?
二懒? 二郎?
还有haskell

erlang是电信领域的一个专业名词
Erlang
[`\:lAN]
n.
[电信]厄兰,占线小时(话务负载单位,亦作Erlang unit)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP