Erlang杂记001

本文介绍了Erlang编程的一些关键知识点,包括原子的使用规则、变量获取表达式返回值的方法、case表达式的应用、定义常用配置的define方式、公共服务进程的调用注意事项、尾递归的重要性及其编写模式、record和map的本质、高效列表操作以及gen_server的行为和返回值处理。强调了避免死循环、优化链表操作以及理解套接字控制进程的概念。
摘要由CSDN通过智能技术生成
  1. 如果原子不以小写字符开头或者其中包含有除字母,数字,下划线以及@符号之外的其他字符,那么必须放在两个单引号’ '之间,‘Atom’, 原子加上单引号和原来的原子相等.
  2. 用变量获取if或者case … of 表达式返回值,往下继续处理,避免在表达式里的逻辑层次太深.
Var = if xxx ->
Var = case xxx of 
  1. case表达式代码写起来会比较整洁.
case  expression of 
Res1 ->
  xxx;
Res2 ->
  yyy
end.
  1. 常用配置可以用define定义
-define(ETS_OPTIONS, [named_table, public, set, {read_concurrency, true}, {write_concurrency, true}]).
  1. 公共服务进程,例如帮会,对外调用不能用call,因为call会挂起进程不能处理后续的消息,只能使用cast.
  2. Erlang中的循环都要拆分成尾递归处理,尾递归函数一次只处理一个元素.
    尾递归函数编写套路,一般需要编写以下三个函数:
    ①. 递归入口函数,传入待处理参数,以及初始化累计器变量,然后调用尾递归处理函数;
    ②. 正常参数的尾递归处理函数,处理每一个元素, 函数一般以tail_开头;
    ③. 特殊参数的尾递归处理函数,例如结束调用函数,参数常见为
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值