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.

posted @ 2012-09-27 09:45  Clasher  阅读(734)  评论(0)    收藏  举报