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

  • 相关阅读:
    迭代器生成器
    eval()
    【剑指offer】调整数组数字位置
    【剑指offer】二进制中1的个数
    【剑指offer】斐波那契数列非递归求解第N项
    【剑指offer】两个栈实现队列
    【剑指offer】逆序输出链表
    【剑指offer】字符串替换
    【剑指offer】规则二维数组查找
    Java转型
  • 原文地址:https://www.cnblogs.com/attilax/p/15199470.html
Copyright © 2020-2023  润新知