本篇将介绍基础的流程控制语法;常用递归函数惯用的实例代码;介绍如何使用erlang自带的调试器。
实例代码:
-module( main ).
-export( [auto/0] ).
auto()->
io:format("hello the world."),
X=[1,2,3,4,5],
io:format( "list size is: ~p\n",[listsize(X)] ),
io:format( "f(2) = ~p\n",[f(2)]),
io:format( "factorial( 4 ) = ~p\n",[factorial(4)]).
listsize(L)->
case L of
[] -> 0;
[_|E] -> 1 + listsize(E)
end.
f(X) ->
Y = X + 1, Y * X.
%%
%% 测试when语句
%%
factorial( 0 ) ->
1;
factorial( N ) when N > 0 ->
N * factorial( N - 1 ).
%%
%% 测试迭代匹配
%%
member( _, [] ) ->
false;
member( H, [H|_] ) ->
true;
member( H, [_|T] ) ->
member( H, T ).
自带的调试器的使用:
1. 使用erlc +debug-info *.erl;将源代码编译的时候附上调试信息;
2. 在erl的vm命令行中键入>debugger:start().将调试器唤起;
3. 在erl的vm命令行中键入>c(*,[debug-info]).
4. 将Auto Attach中的First Call勾选住;
5. 从菜单栏中选择Module->Interprt Modules,选择自己的模块文件;
6. 从菜单栏中选择Break选项能自己配置断点的位置;