您的位置:首页 > 其它

Erlang笔记(02) - 编写并运行一个简单的 Erlang 文件

2014-04-20 16:57 344 查看
1. 新建一个 test.erl (erl为Erlang源文件的后缀名) 的文件

2. 在 test.erl 写入如下内容:

-module(test).            % 模块名称
-export([fac/1]).         % 模块test中包含一个名为fac的函数,fac包含一个参数
fac(0) -> 1;              % 0! 值为 1, ';' 说明这个函数没有结束
fac(N) -> N * fac(N-1).   % N! = N*(N-1)!, '.' 代表本函数没有其余部分了。


3. 启动一个cmd系统命令窗口,执行下面命令

cd /d D:\src\erlang %切换到 test.erl 所在的目录

erl % 启动 Erlang Shell,得到如下提示

Eshell V5.9.1 (abort with ^G)
1>

(也可以用 cd("D:/src/erlang").)

c(test) % 编译 test.erl 文件,如果成功得到如下提示

{ok,test}

test:fac(5) % 计算 5!,得到正确结果 120

120

======================扩展======================

4. 扩展 test 模块,在test.erl 中再添加一个函数

-module(test).
-export([fac/1, mult/2]).
fac(1) ->
1;
fac(N) ->
N * fac(N - 1).
mult(X, Y) ->
X * Y.

重新编译 test.erl 文件,就可用通过 test:mult(2,3) 得到 2*3 的乘积

5. 编译:compile(export_all)

默认:c([export_all])
指定模块: c(Mod, [export_all])

6. 引入其他模块中的函数:import(Module, [Function/Arity,...]).

例如:-import(math, [sqrt/1]).

7. 查看模块的信息:Mod:module_info(). 或者 m(ModelName) in Erlang shell.

8. 匿名函数 fun, 举例:打印华氏摄氏度与摄氏温度的转换

TempCovert fun = fun({c, C}) -> {f, 32+C*9/5};

({f, F}) -> {c, (F-32)*5/9}

end.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐