paip. erlang语法C++语法对比attilax总结

paip. erlang语法C++语法对比attilax总结


作者Attilax   EMAIL:1466519819@qq.com 
来源:attilax的专栏
地址:http://blog.csdn.net/attilax


 

Erlang

c++

注释

%

//

变量定义

大写字母开头的名字(比如Address),表示一个变量

下划线“_”表示任意变量

  {ok, S} = file:open("test2.dat", write),

 

语句分隔

 

,逗号顺序语句之间,用逗号“,”分隔

并列的逻辑分支之间,用分号“;”分界;。

; 分号表示顺序语句

并列语句只能使用多线程方式.

函数定义

函数名称( 变量) –>

  Temp = 10 * Number,

  Temp + 1.

 

函数定义结束用一个句号“.

函数定义使用

函数名称( 变量) {}

函数返回值

Erlang没有return语句,最后执行的那条语句的执行结果就是返回值。

return语句

逻辑分支语句

times10( Number ) –>

  case Number of

  0 -> 1;

  _ ->

  Temp = 10 * Number,

  Temp + 1

  end.

case of语句需要用end结尾,end之前不需要有标点符号

switch语句

 

当参数等于0的时候,直接返1;否则,就乘以10,然后加1,然后返回

等价逻辑分支

times10( 0 ) –> 1;

  times10( Number ) –>

  Temp = 10 * Number,

  Temp + 1.

 

由于两个函数分支的函数名相同,而且参数个数相同,而且两个函数定义分支之间采用分号“;”分隔,说明这是同一个函数的定义。函数式编程语言中,这种定义方式很常见,看起来形式很整齐,宛如数学公式。

数组

{ }

 

数组赋值

 {First, Second} = {1, 2}

  我们还可以对复合Tuple数据结构进行赋值,比如

  {A, {B, C}, D} = { 1, {2, 3}, 4 }

 

 

输出变量到控制台

io:format(S, "~w~n", [123]).

 

posted @ 2013-10-19 23:32  attilaxAti  阅读(31)  评论(0编辑  收藏  举报