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

paip. erlang语法C++语法对比attilax总结相关推荐

  1. Atitit.jdk java8的语法特性详解 attilax 总结

    Atitit.jdk java8的语法特性详解 attilax 总结 1.1. 类型推断这个特别有趣的.鲜为人知的特性1 2. Lambda1 2.1. 内部迭代意味着改由Java类库来进行迭代,而不 ...

  2. Java解析SQL生成语法树_Atitit.sql ast 表达式 语法树 语法 解析原理与实现 java php c#.net js python...

    Atitit.sql ast 表达式 语法树 语法 解析原理与实现java php c#.net js python 1.1.Sql语法树ast如下图锁死 2.SQL语句解析的思路和过程 2.1.le ...

  3. Python基础语法——基础语法、变量

    Python基础语法 基础语法 变量 一.基础语法 注释 - 代码中不会被编译成机器码的部分,即不影响程序功能的部分 单行注释:在一行内容前加#,让这行内容变成注(ctrl+/) 即,# 注释内容 # ...

  4. Erlang词法分析器、语法分析器(lexer-leex,yac-yecc)

    一.简介 一门编程语言的编译器或者解释器通常功能分解为两步: 1.读取源码文件然后分析它的结构 2.处理这些结构,例如生成目标程序 lexer和yacc就是能完成第一步以便生成程序段的工具.而第一步的 ...

  5. Javamysql语法转化oracle_MySQL与Oracle的语法区别详细对比

    Oracle和mysql的一些简单命令对比 1) SQL> select to_char(sysdate,'yyyy-mm-dd') from dual; SQL> select to_c ...

  6. MySQL与Oracle的语法区别详细对比 (转)

    Oracle和mysql的一些简单命令对比 1) SQL> select to_char(sysdate,'yyyy-mm-dd') from dual; SQL> select to_c ...

  7. 学习Sql基础以及Sql的部分语法(语法部分为3w中copy)

    第一章 .net与c# .NET是Microsoft.NET的简称,包含了能在.NET Framework平台运行的所有编程语言. C# 是专门为.NET平台设计的一种语言. c#第一个成绩 (1)使 ...

  8. laytpl语法_layui语法基础

    一.按钮区分 ​ 1.按照主题划分 ​ 原始:class = "layui-btn layui-btn-primary" ​ 默认:class = "layui-btn& ...

  9. pythonjs语法_Python语法精解:JSON语法

    什么是JSON JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集 ...

  10. python基本语法-Python语法基础50题

    1. Python3.x版本的保留字总数是 A. 35 B. 27 C. 16 D. 29 [答案]:A [解析]:Python中的保留字是35个(如果有33的选项也可选择),可以通过 help(ke ...

最新文章

  1. android 收起下拉菜单,Android 展开/折叠 系统下拉通知栏
  2. python3 字符串 统计子字符数量 内置方法count
  3. JavaScript实现shortestCommonSupersequence最短公共超序列算法(附完整源码)
  4. wxWidgets:wxRibbonGallery类用法
  5. 使用ToolRunner运行Hadoop程序基本原理分析
  6. 地图标绘软件_ArcGIS Pro 2.4 首次亮相,Indoors、Monitor、全新一代地图故事模板,新特性抢先看!...
  7. 【vue开发】vue插件的install方法
  8. SQL Prompt10 安装激活教程,让你写sql 如鱼得水
  9. Sublime插件 FileHeader 的安装、设置、使用
  10. 国考计算机怎么评分标准,国考行测的评分标准
  11. Javascript农历与公历相互转换
  12. JS制作一个简单的网页倒计时器
  13. 百度地图根据地理坐标转换经纬度
  14. Android安全测试神器大全
  15. 全屏时钟软件Linux,翻页时钟下载-翻页时钟安卓版下载v1.2.3-Linux公社
  16. Python生成密码字典写入文件算法
  17. python求二叉树高度_求二叉树高度代码报错,求大佬解答
  18. cesium + kriging.js动态生成克里金图
  19. 即时通讯传送文件的方法有几种?
  20. 风火全区维护结束 商城第一版新春上线

热门文章

  1. elasticsearch -- 问题纪录
  2. ThinkPHP/---微信支付PC流程
  3. SQL Server查询所有的表名、字段名、注释
  4. Fedora 24 x86 安装VirtualBox
  5. 《郭大侠的妹妹不可能那么可爱》 第一章 郭大侠那可爱的妹妹?
  6. (版本定制)第2课:通过案例对SparkStreaming透彻理解之二
  7. 实验记录一 初步接触cortex-M3
  8. Emacs使用Tramp远程编辑服务器上的文件
  9. Heartbeat+DRBD+NFS 构建高可用的文件系统
  10. My first essay