ERLANG总结
ERLANG总结
1、退出,输入 haut().
2、-module
3、module_name:function_name( arguments )
例如调用tut:double(10),说明调用tut模块的double函数。
4、模块名为tut
-module(tut).
-export( [double/1, fact/1] ).
double(X)-
2 * X.
fact(1) -
1;
fact(N) -
N*fact(N-1).
分号表示函数还未结束。
点号表示函数已经结束。
变量必须以大写字母开头,小写开头的为字符串。
5、元组
可以返回多个值
-module(tut).
-export( [double/1] ).
double(X) -
{X*2, X*3, X*4}.
6、
列表赋值
10 [One,Two|Rest]=[1,2,3,4,5,6].
[1,2,3,4,5,6]
11 One.
1
12 Two.
2
13 Rest.
[3,4,5,6]
14
获取列表的长度
-module(tut).
-export( [get_length/1] ).
get_length([] ) -
0;
get_length([First|Rest]) -
1+get_length(Rest).
字符串输出采用ASCII表示
[97,98,99].
abc
7、百分号表示注释
8、格式化输出
标准函数io:format
io:format(my name is ~w, my age is ~w~n, [biao, 20]).
9、/返回浮点数
div 整数除 rem 求余
10、a 等同于 a
11、元组嵌套赋值
1F = {first, guo}.
{first,guo}
2 L = {last, biao}.
{last,biao}
3 Name = {person, F, L }.
{person,{first,guo},{last,biao}}
12、元组元素提取,采用占位符(下划线)
6 Name.
{person,{first,guo},{last,biao}}
7 {_,{_,N1},{_,N2}} = Name.
{person,{first,guo},{last,biao}}
8 N1.
guo
9 N2.
biao
10
13、获取列表的元素值 [H|T]
10 ThingstoBuy=[{apple, 5}, {pear,10}, {orange, 20} ].
[{apple,5},{pear,10},{orange,20}]
11 [Buy1|Others] = ThingstoBuy.
[{apple,5},{pear,10},{orange,20}]
12 Buy1.
{apple,5}
13 Others.
[{pear,10},{orange,20}]
14、字符串=整数列表
Hello = hello
整数列表中,所有的整数都是可打印字符时,才转为字符串。
15 [1,2,3].
[1,2,3]
17 [97,98,99].
abc
使用$来表示一个字符的ASCII值(Latin-1)
18 [$s-32, $i, $r].
Sir
又例如
23 [H|T]=cat.
cat
24 H.
99
25 T.
at
18、释放所有的变量绑定。f().
19、Erlang提供的命令。
pwd()打印当前路径,
切换当前目录到C盘根目录
1 cd(e:/erlang_src).
input type=button e:/erlang_src
ok
20、fun定义匿名函数,并可以赋给一个变量。类似函数指针。
14 Double = fun(X)-2*X end.
#Funerl_eval.615 Double(2).
4
21、把fun作为参数传入
例如标准库中的lists:map(F,L).
把F应用到列表的每个元素,并返回新列表。
17 lists:map(Double, [1,2,3,4]).
[2,4,6,8]
标准库lists:filter(P, L ).
把列表的每个元素作为P的参数,返回为TRUE的,才被放到结果列表中。
小例子:查找奇数列表中的奇数。
是否等于的测试符号: =:=
25 Even = fun(X) - X rem 2 /= 0 end.
#Funerl_eval.626 Even(2).
false
27 lists:filter(Even,[1,2,3,4,5,6,7,8,9]).
[1,
原创力文档

文档评论(0)