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]). |