erlang基础知识集锦

合集下载

erlang公式

erlang公式

erlang公式好的,以下是为您生成的关于“erlang 公式”的文章:在我们的日常生活和工作中,有一个看似神秘但却十分实用的工具,那就是 Erlang 公式。

这玩意儿,乍一听可能会让您觉得有点摸不着头脑,但其实啊,它就像我们身边的一个贴心小助手,默默地发挥着重要的作用。

咱先来说说什么是 Erlang 公式。

简单来讲,它是用来计算在一定的业务量和服务水平要求下,所需的资源数量的。

比如说,在一个电话客服中心,要根据预计的来电数量和期望的等待时间,来决定需要安排多少客服人员上班。

这时候,Erlang 公式就派上用场啦!我记得有一次,我去一家小型的电商公司调研。

他们的客服部门总是抱怨人手不够,客户等待时间太长,满意度下降。

我就建议他们用用 Erlang 公式来算一算到底需要多少客服人员。

结果呢,他们一计算才发现,之前完全是凭感觉招人,根本没有科学依据。

按照 Erlang 公式,首先要确定几个关键的参数。

比如说平均每小时的来电数量、每个电话的平均处理时间,还有客户能够接受的最长等待时间。

这些参数可不是随便拍拍脑袋就能定下来的,得通过详细的数据分析和实际观察。

就拿那个电商公司来说,他们经过一段时间的统计,发现平均每小时有 50 个来电,每个电话大概要处理 5 分钟。

而客户能够接受的最长等待时间是 3 分钟。

然后,把这些数字代入 Erlang 公式里,经过一番计算,得出至少需要 8 个客服人员同时在线,才能满足服务水平的要求。

您看,这是不是很神奇?有了 Erlang 公式,就像是有了一把精准的尺子,可以量出到底需要多少资源才能把事情办好。

而且啊,Erlang 公式不仅仅适用于电话客服中心,在很多其他领域也能大展身手。

比如说医院的挂号窗口、银行的柜台服务,甚至是餐厅的服务员配备,都可以用它来算一算。

不过,使用 Erlang 公式也不是一劳永逸的。

实际情况往往比公式复杂得多。

比如说,突然来了一个促销活动,来电数量或者业务量可能会暴增;又或者客服人员的工作效率参差不齐,这些都会影响到最终的结果。

vreilog基本语法知识

vreilog基本语法知识

第五章条件语句、循环语句、块语句和生成语句一、条件语句:1,if;if_else; if/else if/else;2,case/casez/casex_default_endcase;例:case(rega)16'd0: result=10'b0111111111;16'd1: result=10'b1011111111;...............16'd9: result=10'b10111111110;default: result=10'bx;endcase二、循环语句:1,forever+语句;或:forever+begin_end; forever与always不同之处,在于forever必须写在initial模块中。

2,repeat(表达式)+语句;注:表达式通常为循环的次数或repeat(表达式)+begin_end;3,while:while(表达式)+语句;注:当表达式为真时,则循环一直继续begin: countsreg[7:0] tempreg;count=0;tempreg=rega;while(tempreg)beginif(tempreg[0])count=count+1;tempreg=tempreg>>1;endend4,for(表达式1;表达式2;表达式3)+语句;begin: countsreg[7:0] tempreg;count=0;for(tempreg=rega;tempreg;tempreg=tempreg>>1)if(tempreg[0])count=count+1;end三、语句块:1,串行快(顺序块):begin_end,(特殊情况:带有延迟特性的非阻塞式赋值语句)2,并行快:fork_join;对于并行语句,当同一语句块中同一时刻,同一变量出现在两个不同的语句,则会引入隐形竞争。

erlang分布的方差 -回复

erlang分布的方差 -回复

erlang分布的方差-回复Erlang分布是一种概率分布,通常用于模拟和描述一系列事件的发生时间间隔。

这些事件的发生是相互独立且服从相同的指数分布。

Erlang分布最常用于模拟交通、电话系统、网络连接等各种排队模型。

在了解Erlang分布的方差之前,我们先来了解一下Erlang分布的概念和特点。

Erlang分布是由丹麦工程师A.K. Erlang在20世纪早期引入的,用于描述排队系统中顾客到达的频率。

Erlang分布可以使用两个参数来描述:数量参数(k)和频率参数(λ)。

数量参数(k)表示一定时间内到达的顾客数量,而频率参数(λ)表示单位时间内到达的顾客频率。

Erlang分布的概率密度函数可以表示为:f(x; k, λ) = (λ^k * x^(k-1) * exp(-λx))/(k-1)!其中,x是时间间隔,k是数量参数,λ是频率参数。

现在,我们将回答Erlang分布的方差是如何计算的。

步骤1:计算平均值(期望值)首先,我们需要计算Erlang分布的平均值,也称为期望值。

Erlang分布的平均值可以使用下面的公式计算:E(X) = k/λ其中,E(X)表示X的平均值,k是数量参数,λ是频率参数。

步骤2:计算二阶矩(期望的平方)接下来,我们需要计算Erlang分布的二阶矩,也称为期望的平方。

二阶矩可以使用下面的公式计算:E(X^2) = (2k)/(λ^2)其中,E(X^2)表示X的二阶矩,k是数量参数,λ是频率参数。

步骤3:计算方差方差是随机变量的离散程度的度量。

在Erlang分布中,方差可以使用下面的公式计算:Var(X) = E(X^2) - [E(X)]^2其中,Var(X)表示X的方差,E(X^2)表示X的二阶矩,[E(X)]^2是X的平均值的平方。

步骤4:计算结果将步骤2和步骤3中的计算结果代入公式中,我们就可以得到Erlang分布的方差:Var(X) = (2k)/(λ^2) - (k/λ)^2到此为止,我们已经回答了Erlang分布的方差是如何计算的。

Erlang入门手册

Erlang入门手册

Erlang/OTP R11B 文档Erlang/OTP R11B documentationv0.1a2目录第1部分 入门 (1)1.1 简介 (1)1.1.1 简介 (1)1.1.2 其它方面 (1)1.2 顺序编程 (1)1.2.1 Erlang Shell (1)1.2.2 模块和函数 (3)1.2.3 元子(Atoms) (6)1.2.4 元组 (7)1.2.5 列表 (8)1.2.6 标准模块及用户手册 (11)1.2.7 将输出写到终端上 (11)1.2.8 一个更大的例子 (12)1.2.9 变量的匹配、守卫和作用域 (14)1.2.10 更多关于列表 (16)1.2.11 If和Case (21)1.2.12 内建函数(BIFs) (25)1.2.13 复杂函数 (27)1.3 并行编程 (29)1.3.1 进程 (29)1.3.2 信息传递 (31)1.3.3 进程名称注册 (35)1.3.4 分布式编程 (36)1.3.5 一个更大的例子 (40)1.4 [#1]健壮性(Robustness 鲁棒性) (49)1.4.1 超时(Timeouts) (49)1.4.2 错误处理 (51)1.4.3 增强健壮性之后的大型例子 (54)1.5 [#1]记录和宏(Records and Macros) (59)1.5.1 将大型的例子分割在多个文件中 (59)1.5.2 头文件(Header Files) (64)1.5.3 记录(Records) (64)1.5.4 宏(Macros) (65)第2部分 OTP设计原则 (66)2.1 概述 (66)2.1.1 监督树 (66)2.1.2 Behaviour (66)2.1.3 应用 (70)2.1.4 发布 (71)2.1.5 发布控制 (71)2.2 Gen_Server Behaviour(文档缺失) (71)2.3 Gen_Fsm Behaviour (71)2.3.1 有限状态机 (71)2.3.2 实例 (72)2.3.3 启动一个Gen_Fsm (73)2.3.4 事情通知 (74)2.3.5 超时 (74)2.3.6 All状态事件 (75)2.3.7 停止函数 (75)2.3.7.1 在监督树中 (75)2.3.7.2 独立Gen_Fsm (76)2.3.8 处理其它消息 (76)2.4 Gen_Event Beheaviour (77)2.4.1 事件处理原则 (77)2.4.2 实例 (77)2.4.3 启动一个事件管理器 (78)2.4.4 加入一个事件处理器 (78)2.4.5 事件通知 (79)2.4.6 删除一个事件处理函数 (80)2.4.7 停止 (80)2.4.7.1 在监督树中 (80)2.4.7.2 独占式事件管理器 (80)第1部分 入门1.1 简介1.1.1 简介这是一个入门指导教你开始使用Erlang。

(5)话务容量基础

(5)话务容量基础

呼损率) Loss probability ( E ) ( 呼损率 )
0.01 0.0101 0.15259 0.45549 0.86942 1.3608 1.909 2.5009 3.1276 3.7825 4.4612 0.02 0.02041 0.22347 0.60221 1.0923 1.6571 2.2759 2.9354 3.6271 4.3447 5.084 0.03 0.03093 0.28155 0.71513 1.2589 1.8752 2.5431 3.2497 3.9865 4.7479 5.5294 0.05 0.05263 0.38132 0.8994 1.5246 2.2185 2.9603 3.7378 4.543 5.3702 6.2157 0.1 0.11111 0.59543 1.2708 2.0454 2.8811 3.7584 4.6662 5.5971 6.5464 7.5106 0.2 0.25 1 1.9299 2.9452 4.0104 5.1086 6.2302 7.3692 8.5217 9.685 0.4 0.66667 2 3.4798 5.021 6.5955 8.1907 9.7998 11.419 13.045 14.677
6
NetRein
话务容量基础知识
TCH话务计算 话务计算
当TRX决定后,TCH的个数与SDCCH的个数密切相关; 假设:SDCCH采用与BCCH不合用的方式,TCH的分布举 例列表如下:
同时假设呼损为2%,每线用户为0.025Erl 同时假设呼损为 %,每线用户为 %,每线用户为
TRX数 TRX 1 2 3 4 5
n 1 2 3 4 5 6 7 8 9 10
如何查表?

erlang法则

erlang法则

erlang法则Erlang法则是指在一个排队系统中,当到达率和服务率均符合泊松过程时,系统的平均等待时间和平均排队长度之间存在一种数学关系。

这个关系在排队论和性能评估领域有着广泛的应用。

Erlang法则是由丹麦工程师A. K. Erlang提出的。

他在20世纪初研究电话交换机的工作中发现,当电话交换机的到达率和服务率满足一定条件时,系统中的等待时间和排队长度之间存在一种特定的关系。

Erlang通过研究大量的通信数据和对排队现象的观察,提出了这一数学定律。

Erlang法则可以用于预测和评估排队系统的性能。

当我们需要设计一个新的服务系统或者优化一个现有的排队系统时,我们可以使用Erlang法则来估计系统中的等待时间和排队长度。

这可以帮助我们合理安排资源和优化系统性能。

Erlang法则的数学表达是:W = (N / (X - A)),其中W表示平均等待时间,N表示平均队列长度,X表示服务速率,A表示到达速率。

根据这个公式,我们可以通过已知的到达率和服务率来计算等待时间和队列长度。

Erlang法则的应用可以帮助我们解决很多实际问题。

例如,在一个呼叫中心中,我们可以使用Erlang法则来评估接听电话的平均等待时间和排队长度。

我们可以根据已知的到达率和服务率来估计需要多少坐席来满足客户的需求,避免客户等待过久或者排队过长。

又如,在一个网络服务器中,我们可以使用Erlang法则来评估服务器的负载和响应时间,从而合理规划服务器的配置和性能优化。

然而,Erlang法则也有一些限制和前提条件。

首先,它要求到达率和服务率满足泊松过程,即到达事件和服务事件是独立且随机发生的。

其次,它假设排队系统是无限容量的,即排队系统可以容纳任意多的顾客。

如果违反了这些前提条件,Erlang法则可能不再准确。

在实际应用中,我们可以结合Erlang法则和其他性能评估工具来综合评估系统的性能。

例如,我们可以使用离散事件模拟来模拟排队系统的运行,并根据模拟结果来验证Erlang法则的准确性。

爱尔朗(Erlang)分布

爱尔朗(Erlang)分布

爱尔朗分布(Erlang Distribution )在概率与统计相关学科中,爱尔朗分布(Erlang Distribution )是一种连续型概率分布。

Erlang 分布的译名较多,如爱尔兰分布,埃朗分布,埃尔朗分布,爱尔朗分布,厄朗分布等等;此外在不同学科间,Erlang 分布的习惯译法也可能不同。

该分布与指数分布一样多用来表示独立随机事件发生的时间间隔。

相比于指数分布,爱尔朗分布能更好地对现实数据进行拟合(更适用于多个串行过程,或无记忆性假设不显著的情况下)。

除非退化为指数分布,爱尔朗分布不具有无记忆性(或马尔可夫性质),因此对其进行分析相对困难一些。

一般通过将爱尔朗过程分解为多个指数过程的技巧来对爱尔朗分布进行分析。

遵循爱尔朗分布的随机变量可以被分解多个同参数指数分布随机变量之和,该性质使得爱尔朗分布被广泛用于排队论中。

参数与公式爱尔朗分布有两个参数,阶数(stage )k 和均值μ(也有用来代替的)。

具有阶数k 的爱尔朗过程被称为k 阶爱尔朗(k-stage Erlang ),对应的随机变量可被视为k 个同参数指数分布随机变量之和。

依据上下文环境不同,均值参数μ可以指整个爱尔朗分布的均值μ0也可以指每个指数分布的均值μi 。

两者的关系是:[编辑]与其他概率分布的关系爱尔朗分布是一种Phase-Type 分布。

它是亚指数分布的一个特例(各阶指数过程均值都相等的k 阶亚指数分布即为k 阶爱尔朗分布);而指数分布则是爱尔朗分布的一个特例(阶数k= 1的爱尔朗分布即为指数分布)。

[编辑]Speical Erlang“Speical Erlang”分布 是亚指数分布的一个别名。

需要注意的是,Special Erlang 并非爱尔朗分布(Erlang )的特例。

正好相反,爱尔朗(Erlang )分布是Special Erlang 的一个特例。

爱尔朗分布模型:设V 1,V 2,…,V k 相互独立,V i ~E(0 ,k μ),则,T=V 1+V 2+…+V k 的概率密度为⎪⎩⎪⎨⎧<>-=-.0,0,0,)!1()()(1t t k kt k t f k k μμ称T 服从k 阶爱尔朗分布。

Erlang十分钟快速入门

Erlang十分钟快速入门

Erlang概述Erlang不但是一种编程语言,而且它具有比编程语言更加贴近操作系统的一些特性:并发线程、作业调度、内存管理、分布式、网络化等。

据说使用Erlang 编写的Yaws Web服务器,其并发性能是apache的15倍!这个Erlang初始开源版本包含了Erlang的实现,同时它也是用于构建分布式高可用性系统的Ericsson中间件的最大组成部分。

Erlang具有以下特性:并发性 - Erlang具有超强的轻量级进程,这种进程对内存的需求是动态变化的,并且它没有共享内存和通过异步消息传送的通讯。

Erlang支持超大量级的并发线程,并且不需要操作系统具有并发机制。

分布式 - Erlang被设计用于运行在分布式环境下。

一个Erlang虚拟机被成为Erlang节点。

一个分布式Erlang系统是多个Erlang节点组成的网络(通常每个处理器被作为一个节点)。

一个Erlang节点能够创建运行在其它节点上的并行线程,而其它节点可以使用其它操作系统。

线程依赖不同节点之间的通讯,这完全和它依赖于单一节点一样。

健壮性 - Erlang具有多种基本的错误检测能力,它们能够用于构建容错系统。

例如,进程能够监控其它进程的状态和活动,甚至这些进程是在其它节点上执行。

在分布式系统中的线程能够配置为在其它节点故障的情况下自动进行故障恢复,并在故障节点恢复时自动迁移回到恢复节点。

软实时性 - Erlang支持可编程的“软”实时系统,这种系统需要反应时间在毫秒级。

而在这种系统中,长时间的垃圾收集(garbage collection)延迟是无法接受的,因此Erlang使用了递增式垃圾收集技术。

热代码升级 - 一些系统不能够由于软件维护而停止运行。

Erlang允许程序代码在运行系统中被修改。

旧代码能被逐步淘汰而后被新代码替换。

在此过渡期间,新旧代码是共存的。

这也使得安装bug补丁、在运行系统上升级而不干扰系统操作成为了可能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Erlang基础知识集锦声明:此文档只作为对erlang的认知之用,如果需要学习并使用erlang 请系统学习介绍erlang的书。

1.简介●Erlang是一个并行编程语言和运行时系统,最初由爱立信(Ericsson)于1987年为电信行业所开发。

1998年爱立信在改良的MPL(Mozilla Public License)许可下将Erlang发布于开源社区。

●Erlang是:a)一种“小众”语言。

b)一种函数式语言(变量只能赋值一次)。

c)一种动态类型语言(变量类型在运行时决定,代码需要编译后才能执行,与Python,Ruby等不一样)。

d)一种强类型语言。

e)一种面向并发(Concurrency Oriented)的语言。

2.特性●并发性 - Erlang支持超大量级的并发线程,并且不需要操作系统具有并发机制。

●分布式 - 一个分布式Erlang系统是多个Erlang节点组成的网络(通常每个处理器被作为一个节点)。

●健壮性 - Erlang具有多种基本的错误检测能力,它们能够用于构建容错系统。

●软实时性- Erlang支持可编程的“软”实时系统,使用了递增式垃圾收集技术。

●热代码升级-Erlang允许程序代码在运行系统中被修改。

旧代码能被逐步淘汰而后被新代码替换。

在此过渡期间,新旧代码是共存的。

●递增式代码装载-用户能够控制代码如何被装载的细节。

●外部接口-Erlang进程与外部世界之间的通讯使用和在Erlang进程之间相同的消息传送机制。

3.数据类型3.1.变量3.1.1.在erlang中的变量只能被赋值一次,变量第一个字母要是大写的。

3.1.2.符号”=”是值类型匹配操作(带有赋值的意思)。

(pattern matching)3.1.3.在erlang中变量是不可变的,也没有共享内存的概念,也没有锁。

3.2.浮点数3.2.1.整数除法示例: 4 div 2。

3.2.2.求余示例: 5 rem 2。

3.2.3.“/”永远返回浮点数。

3.3.Atoms(原子)3.3.1.Atoms表示不同的非数字常量值。

3.3.2.示例:Xss = 'Asss'。

3.4.元组3.4.1.将若干个以逗号分隔的值用一对大括号括起来就形成了一个元组。

3.4.2.元组示例: Person = {person, {name, joe}, {height, 1.83}, {footsize, 42}}.3.4.3.从元组中提取数据:Point = {point, 10, 45}.{point, X, Y} = Point.( pattern match)此后X=10, Y=45.3.5.列表3.5.1.将若干个以逗号分隔的值用一对方括号括起来,就形成了一个列表。

3.5.2.示例: ThingsToBuy = [{apple, 10}, {pear, 6}, {milk, 3}].3.5.3.列表中的第一个元素叫做列表头,剩下的部分叫做列表尾。

一般来说列表头可以是任何东西,列表尾经常是一个列表。

3.5.4.访问列表头元素是一个非常高效的操作。

3.5.5.从列表中解析元素:ThingsToBuy1 = [{oranges, 4}, {newspaper, 1}|ThingsToBuy].[Buy1|ThingsToBuy2] = ThingsToBuy1.此后:ThingsToBuy1 = [{oranges,4},{newspaper,1},{apple,10},{pear,6},{milk,3}].Buy1 = {oranges,4}.ThingsToBuy2 = [{newspaper,1},{apple,10},{pear,6},{milk,3}].3.6.字符串3.6.1.在erlang中没有字符串,字符串仅仅是整数列表。

用双引号将一串字符括起来就是一个字符串。

3.6.2.示例:Name = "Hello".5>I = $s.1158> [I-32, $u, $r, $p, $r, $i, $s, $e]."Surprise"4.Erlang基本语法4.1.模块4.1.1.Erlang源文件是以.erl做为扩展名的,头文件是以.hrl做为扩展名的。

4.1.2.要运行一个模块,首先要编译它,编译以后的文件是以.beam做为扩展名的。

文件编译命令:c(Modulename).4.1.3.改变erlang的工作目录在操作系统用户文件夹下找到目前登录用户的文件夹在其中建立一个.erlang文件夹,在这个文件中写上:c:cd("you work dir"). 重启erlang shell就改变了工作路径。

4.1.4.在erlang中符号的使用:逗号(,)用来分隔函数调用,数据构造器(列表元组中的逗号)以及模式中的参数。

句号(.)(后面跟一个空白符号)用来在shell中分隔完整的函数和表达式。

分号(;)用来分隔子句,在以下几种情况下都会用到子句:分段的函数定义,case子句, if语句, try…catch语句,以及receive表达式。

4.1.5.调用模块中的方法:Modules:ExportFunc(…)4.2.匿名函数(fun关键字)4.2.1.使用示例:1> Hypot = fun(X, Y) -> math:sqrt(X*X + Y*Y) end.#Fun<erl_eval.12.113037538>2> Hypot(3, 4).5.04.2.2.匿名函数可以作为函数的参数,并且作为函数的返回值。

4.2.3.定义自己的抽象控制流程:for(Max, Max, F) -> [F(Max)];for(I, Max, F) -> [F(I)|for(I+1, Max, F)].4.3.简单列表处理4.3.1.map函数示例:map(_, []) -> [];map(F, [H|T]) ->[F(H)|map(F, T)].1>L = [1,2,3,4,5].[1,2,3,4,5]map(fun(X) -> 2*X end, L).输出:[2,4,6,8].4.4.列表理解4.4.1.示例:1> L = [1,2,3,4].[1,2,3,4]2> [2*X || X <- L].[2,4,6,8]1> Buy = [{oranges, 4}, {newspaper, 1}, {apples, 10}, {pears, 6}, {milk,3}].[{oranges,4},{newspaper,1},{apples,10},{pears,6},{milk,3}]2> [{Name, 2*Number} || {Name, Number} <- Buy].[{oranges,8},{newspaper,2},{apples,20},{pears,12},{milk,6}]4.5.算数表达式(以及优先级)参见下图:4.6. Guard4.6.1.Guard是一种强化模式匹配功能的结构,使用Guard可以在一个模式上做一些简单的变量测试和比较。

4.6.2.示例:max(X, Y) -> when X > Y -> X;max(X, Y) -> Y.4.6.3.Guard组合关系●Guard1;Guard2...;Guardn 条件式中每个条件式是or关系。

●Guard1,Guard2...,Guardn 条件式中每个条件式是and关系。

4.6.4.合法的Guard表达式:●原子true。

●其它常量(字典或者列表中的条目或者绑定变量), 这些在断言表达式中都会被求值为false。

●表下表一中的这些内建函数。

●比较表达式,参见表二。

●算数表达式。

参见表三。

●布尔表达式。

●短路布尔表达式表一:表二:表三:4.6.5.Guard例子f(X, Y) when is_integer(X), X > Y, Y < 6 ->...4.6.6.true Guard的使用:true Guard可以在if表达式的末尾处理所有为被匹配的Guard。

ifGuard -> Expression1;Guard2 -> Expression2;…true -> Expressionsend4.7.记录(Records)4.7.1.使用场景当元组的元素数量比较大的时候我们可能不知道某个【元素】的具体意义,这个时候就可以使用记录。

4.7.2.申明示例:-record(todo, {status=reminder,who=joe,text}).4.7.3.在shell中读取recode的方法:rr(SomeErlangHeadFile).4.7.4.使用示例:1>#todo{}.#todo{status = reminder, who=joe, text = undefined}3>X1 = #todo{status = urgent, text = "Fix errata in book"}.#todo{status = urgent, who = joe, text = "Fix errata in book"}4>X2 = X1#todo{status = Done}#todo{status = done, who = joe, text = "Fix errata in book"}5>#todo{who = W, text, Txt} = X2.#todo{status = done, who = joe, text = "Fix errata in book"}6>W.joe7>X2#todo.text."Fix errata in book"4.7.5.在函数中对记录进行模式匹配:clear_status(#todo{status=S, who=W}) ->R#todo{status=finished}4.7.6.记录只是元组的伪装11>X2.#todo{status = done, who = joe, text = "Fix errata in book"}12>rf(todo).Ok13>X2.{todo, done, joe, "Fix errata in book"}4.8.case和if表达式4.8.1.case语句的语法case Expression ofPattern1 [when Guard1] -> Expr_seq1;、Pattern2 [when Guard2] -> Expr_seq1;...end4.8.2.case语句示例:filter(P, [H|T]) ->case P(H) oftrue -> [H|filter(P, T)];false -> filter(P, T)end;filter(P, []) ->[].4.8.3.if语句的语法ifGuard1 ->Expr_seq1;Guard ->Expr_seq1;...End5.erlang中的异常5.1.erlang异常的产生异常经常在系统内部错误或在代码中显式调用throw(Exception),exit(Exception), erlang:error(Exception).5.2.自己生成异常的方法●exit(Why)当想要终止当前进程的时候,就需要用到这个函数,如果这个异常未被捕获,那么系统会向所有与当前进程相连接的进程广播{“EXIT”, Pid, Why}消息。

相关文档
最新文档