Erlang语言学习入门

近期研究RabbitMQ,发现它是基于Erlang实现的,于是对Erlang这么语言发生了兴趣,官网地址 http://www.erlang.org/ ,去下载一个最新的版本,我下载的是5.9.1版本,Windows版本R15B01 Windows Binary File (90.7 MB) ,   下载后一路解压安装即可,不用单独做什么设置,Erlang语言就可以使用了,然后就可以开始使用它里面的 Eshell程序 进行编程。

这是一个命令行程序,可以直接在里面输入表达式进行计算,例如来一个简单的:

 

Erlang R15B01 (erts-5.9.1) [smp:4:4] [async-threads:0]

Eshell V5.9.1  (abort with ^G)
1> 100+300.
400
2> 

 

注意在语句的结尾输入“.”以表示完成,回车就开始计算结果了,如上面所示。

下面,我们用记事本写一个阶乘的Erlang程序:

 

-module(test).
-export([fac/1]).

fac(0) -> 1;
fac(N) -> N * fac(N-1). 

这个程序定义了一个叫做 “test”的模块,里面包含一个名字叫做fac的函数,该函数有1个参数。

按照Erlang的约定,文件名必须跟模块名称一致,于是我们将这个文件保存为 “test.erl”,文件保存在D:\test1目录下。

问题来了,怎么运行这个文件呢?使用 cd 方法,改变Erlang当前的工作路径:

 

2> cd("d:/test1").
d:/test1
ok
3> 

然后编译刚才的程序文件:

 

ok
3> c(test).
{ok,test}
4> 

注意,编译命令c 的参数写 明文件里面定义的模块名称即可,也不用加双引号。编译后,将在当前工作目录下面生成文件“test.beam”

然后,可以执行模块中的方法了:

 

4> fac(10).
** exception error: undefined shell command fac/1
5> test:fac(10).
3628800
6> 

注意,这里是使用自定义的“外部模块”,所以执行的时候需要写明 模块名称:方法名称(参数)。

 

如果下次需要重新加载编译好的程序怎么办?

很简单,使用 l(模块名称) 即可,如下例:

 

6> l(test).
{module,test}
7> test:fac(4).
24
8> 

到此为止,安装、编写、编译、运行、加载 一个Erlang 语言程序的全过程就完成了,入门过程还是很简单吧?

 

Erlang 学习参考:

 

Erlang Programming拾零

 

用Erlang实现领域特定语言

 

另外安装后,它本身的帮助文档也比较全面,初学已经完全够用了。

 

posted on   深蓝医生  阅读(3617)  评论(1编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构

导航

< 2012年9月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6
点击右上角即可分享
微信分享提示