最简洁的Erlang基础

这篇博客主要介绍了Erlang的基础知识,包括配置开发环境、基础语法、内置数据结构如元组、列表、映射组,以及模块、函数、断言、记录和异常处理。博主分享了学习Erlang的背景和目的,并提供了相关的资源链接。
摘要由CSDN通过智能技术生成

0x00 说在前面

Erlang读音/ˈɜːrlæŋ/。第一次见到的时候总感觉怎么读都读不对,后来在维基上看到Erlang标注了音标,才能准确的读出来,而且也没那么怪异。因为工作才有机会接触这门语言,也因此只有三天的时间可以看《Erlang程序设计》这本书。学习这门语言的时候带着一个工作目标:把一个Erlang日志收集分析统计的代码转换成Python的。而Erlang的风格是尽量不写注释,尽量在写函数名和变量名的时候表达清楚代码的含义。这样一来学习Erlang就成了必要的,很庆幸,领导给了三天时间学习,三天时间基本也足够了。除了这一片基础语法的入门篇之外,后续还有一篇或者两篇并发编程和分布式编程的,毕竟这个才是Erlang擅长的领域。话不多说,show me your article

0x01 配置开发环境

依赖工具:

  • Erlang版本:18.3
  • IDE:IDEA

下载链接:

IDEA配置Erlang插件:

0x02 基础知识

注释
  • % 百分比符号标明注释的开始。
  • %% 两个符号通常用于注释函数。
  • %%% 三个符号通常用于注释模块。
变量

所有的变量都必须以大写字母开头,变量只可一次赋值,赋值之后不可在变。 f()函数释放shell绑定变量。

浮点数
  • 浮点数必须含有小数点且小数点后必须有一位10进制数
  • 用/来除两个整数时相除结果会自动转换成浮点数
  • div取整,rem取余
三种标点符号
  • 整个函数的定义结束时用一个句号“.”
  • 函数参数,数据构建,顺序语句之间,用逗号“,”分隔
  • 函数定义、caseiftry..catchreceive表达式中的模式匹配时,用分号“;”分界
恒等

恒等测试符号 =:=以及不等测试符号 =/=

块表达式

当程序中某处的语法要求只能使用单个表达式但是逻辑上又需要在此使用多个表达式时,就可以使用begin...end快表达式

begin
  Expr1,
  ...
  ExprN
end

0x03 内置数据结构

元组及模式匹配(解构)
  • _ 代表丢弃的变量,和python相同
  • 匹配时模式匹配符=左右两边的元组的结构必须相同。
1> Point = {point, 20, 43}.
{point,20,43}
2> {point, x, y} = Point.
** exception error: no match of right hand side value {point,20,43}
3> {point, X, Y} = Point.
{point,20,43}
4> X.
20
5> Y
  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值