Erlang的基础语法
在学习Erlang之前,最重要的一点是丢掉以前所有的学习语言的经验.从新认识.本文中这些名称,均来自<Erlang程序设计>中文版.
Erlang的变量定义:大写字母开头的名字,表示一个变量.比如 Simple 默认就是一个变量,这个变量就可以装任何东西了.(注意变量不变,也就是说变量经历一次赋值之后,就不可以被再次赋值.)
Erlang的常量定义:小写字母开头的名字,表示一个常量.比如ok.在Erlang中,这叫原子.使用规则是以一串小写字母开头,后跟数字字母或者下划线(_)或者邮件符号(@)的字符.
Erlang的注释:%后面的输入都代表了注释.
Erlang用_来代表任意变量.之所以有这样的变量,跟后面的参数匹配有很大的关系._Lang代表的是一个有名字的任意变量.
Erlang中可以定义一个元组(tuple).类似于C中的结构体 定义方式:-recode (userinfo,{pid,pname}).
Erlang没有字符串的,如果非要说有,不如说他是列表.
Erlang的语法,有点像我们写文章,停顿一下用",",一句话用".",并列的逻辑分支用";",所以,要适应这种语法.
大头在这里:
Erlang的模式匹配.在学习Erlang比较难的一部分.调用一个函数,他会根据我们传递的参数,匹配找到应该执行的函数.譬如那边的函数是handleName(X,abc),那么和他匹配的参数有123,abc;678,abc.handleName([])就会被[]这样的空列表匹配.[H|T],传递来的参数是[1,2,3,4,5]的话,H匹配到的是1,T还是一个列表:[2,3,4,5].
通过-define(GAME_SERVERS, 'GAME SERVERS'). 可以在代码里面,通过?GAME_SERVERS访问.
有些特例,是系统已经定义好的,譬如?MODULE.找不到定义的话,可以往这个方向上考虑.
通过
-record(tab_counter, {
type,
value
}).
代码里面赋值的方式是S = #tab_counter{type = 1,value =2},访问是S#tab_counter.type.
浙公网安备 33010602011771号