AI教程网 - 未来以来,拥抱AI;新手入门,从AI教程网开始......

 分类:Erlang教程

Erlang 是一种多用途编程语言,主要用于开发并发和分布式系统。它最初是一种专有的编程语言。

Erlang教程

Erlang 宏

Erlang 宏
Erlang宏 在 messager 系统添加的另外一种东西是宏。在 mess_config.hrl 文件中包含如下的定义: %%% Configure the location of the server node, -define...

AI君 4年前 (2020-03-27) 57℃ 0喜欢

Erlang教程

Erlang 记录

Erlang 记录
Erlang记录 记录的定义如下: -record(name_of_record,{field_name1, field_name2, field_name3, ......}). 例如, -record(message_to,{to...

AI君 4年前 (2020-03-27) 57℃ 0喜欢

Erlang教程

Erlang 头文件

Erlang 头文件
Erlang头文件 如上所示,某些文件的扩展名为 .hrl。这些是在 .erl 文件中会用到的头文件,使用方法如下: -include("File_Name"). 例如: -include("mess_interface.hrl"...

AI君 4年前 (2020-03-27) 60℃ 0喜欢

Erlang教程

Erlang 程序分布

Erlang 程序分布
将大程序分在多个文件中 为了演示需要,我们将前面几节中 messager 程序分布到五个文件中: mess_config.hrl 配置所需数据头文件 mess_interface.hrl 客户端与 messager 之...

AI君 4年前 (2020-03-27) 57℃ 0喜欢

Erlang教程

Erlang 完善后实例

Erlang 完善后实例
增加健壮性后的完整示例 让我们改进 Messager 程序以增加该程序的健壮性: %%% Message passing utility. %%% User interface: %%% login(Name) %%% O...

AI君 4年前 (2020-03-27) 58℃ 0喜欢

Erlang教程

Erlang 错误处理

Erlang 错误处理
Erlang错误处理 在讨论监督与错误处理细节之前,让我们先一起来看一下 Erlang 进程的终止过程,或者说 Erlang 的术语 exit。 进程执行 exit(normal) 结束或者运行完所有的代码而结束都被认为是进程的正常(...

AI君 4年前 (2020-03-27) 58℃ 0喜欢

Erlang教程

Erlang 超时处理

Erlang 超时处理
Erlang超时处理 在改进 messager 程序之前,让我们一起学习一些基本的原则。回忆一下,当 “ping” 结束的时候,它向 “pong” 发送一个原子值 finished 的消息以通知 “pong” 结束程序。另一种让 “pon...

AI君 4年前 (2020-03-27) 56℃ 1喜欢

Erlang教程

Erlang 健壮性

Erlang 健壮性
Erlang的健壮性 上一节中的完整示例还存在一些问题。当用户所登录的结点崩溃时,用户没有从系统中登出,因此该用户仍然在服务器的 User_List 中,但事实是用户已经不在系统中了。这会导致这用户不能再次登录,因为系统认为它已经在系统中...

AI君 4年前 (2020-03-27) 59℃ 0喜欢

Erlang教程

Erlang 分布式编程

Erlang 分布式编程
Erlang分布式编程 下面我们进一步对 ping pong 示例程序进行改进。 这一次,我们要让 “ping”、“pong” 进程分别位于不同的计算机上。要想让这个程序工作,你首先的搭建一下分布式的系统环境。分布式 Erlang 系统的...

AI君 4年前 (2020-03-27) 57℃ 0喜欢

Erlang教程

Erlang 注册进程名称

Erlang 注册进程名称
Erlang注册进程名称 上面的例子中,因为 “Pong” 在 “ping” 进程开始前已经创建完成,所以才能将 “pong” 进程的进程标识符作为参数传递给进程 “ping”。这也就说,“ping” 进程必须通过某种途径获得 “pong...

AI君 4年前 (2020-03-27) 58℃ 0喜欢

Erlang教程

Erlang 消息传递

Erlang 消息传递
Erlang 消息传递 下面的例子中创建了两个进程,它们相互之间会发送多个消息。 -module(tut15). -export([start/0, ping/2, pong/0]). ping(0, Pong_PID) ->...

AI君 4年前 (2020-03-27) 56℃ 0喜欢

Erlang教程

Erlang 进程

Erlang 进程
Erlang进程管理 相比于其它函数式编程语言,Erlang 的优势在于它的并发程序设计与分布式程序设计。并发是指一个程序中同时有多个线程在执行。例如,现代操作系统允许你同时使用文字处理、电子制表软件、邮件终端和打印任务。在任意一个时刻,...

AI君 4年前 (2020-03-27) 58℃ 0喜欢

Erlang教程

Erlang 高阶函数 (Fun)

Erlang 高阶函数 (Fun)
Erlang 高阶函数 (Fun) Erlang 作为函数式编程语言自然拥有高阶函数。在 shell 中,我们可以这样使用: 86> Xf = fun(X) -> X * 2 end. #Fun<erl_eval....

AI君 4年前 (2020-03-27) 57℃ 0喜欢

Erlang教程

Erlang 内置函数 (BIF)

Erlang 内置函数 (BIF)
Erlang 内置函数 (BIF) 内置函数是指那些出于某种需求而内置到 Erlang 虚拟机中的函数。内置函数常常实现那些在 Erlang 中不容易实现或者在 Erlang 中实现效率不高的函数。某些内置函数也可以只用函数名就调用,因为...

AI君 4年前 (2020-03-27) 56℃ 0喜欢

Erlang教程

Erlang if 与 case

Erlang if 与 case
Erlang if 与 case 上面的 find_max_and_min 函数可以找到温度的最大值与最小值。这儿介绍一个新的结构 if。If 的语法格式如下: if Condition 1 -> Act...

AI君 4年前 (2020-03-27) 61℃ 0喜欢

Erlang教程

Erlang 匹配、Guards 与变量的作用域

Erlang 匹配、Guards 与变量的作用域
Erlang匹配、Guards 与变量的作用域 在某些场景下,我们可能需要找到最高温度或最低温度。所以查找温度值列表中最大值或最小值是非常有用的。在扩展程序实现该功能之前,让我们先看一下寻找列表中的最大值的方法: -module(tu...

AI君 4年前 (2020-03-27) 55℃ 0喜欢

Erlang教程

Erlang 完整示例

Erlang 完整示例
Erlang完整示例 接下来这个示例是一个简单的消息传递者(messager)示例。Messager 是一个允许用登录到不同的结点并向彼此发送消息的应用程序。 开始之前,请注意以下几点: 这个示例只演示了消息传递的逻辑̵...

AI君 4年前 (2020-03-26) 57℃ 0喜欢

Erlang教程

Erlang 输出至终端

Erlang 输出至终端
Erlang输出至终端 用例子来说明如何格式化输出到终端再好不过了,因此下面就用一个简单的示例程序来说明如何使用 io:format 函数。与其它导出的函数一样,你可以在 shell 中测试 io:format 函数: 31> ...

AI君 4年前 (2020-03-26) 56℃ 0喜欢