📝 Erlang教程
41篇技术文档📅  最后修改于: 2020-11-04 05:53:10        🧑  作者: Mango
列表是用于存储数据项集合的结构。在Erlang中,列表是通过将值括在方括号中来创建的。以下是在Erlang中创建数字列表的简单示例。例现场演示上面示例的输出将是-输出现在让我们讨论List可用的各种方法。请注意,列表库需要导入才能使这些方法起作用。Sr.NoMethod and Description1allReturns true if Pred(Elem) returns true for a...
📅  最后修改于: 2020-11-04 05:53:34        🧑  作者: Mango
使用I / O时,Erlang提供了许多方法。它具有更简单的类,可为文件提供以下功能-读取文件写入文件查看文件是文件还是目录Erlang中的文件操作方法让我们探究Erlang提供的一些文件操作。出于这些示例的目的,我们将假定存在一个名为NewFile.txt的文件,其中包含以下文本行例1例2例子3在以下示例中,此文件将用于读取和写入操作。一次读取一行文件的内容使用文件库中可用的方法对文件执行常规操...
📅  最后修改于: 2020-11-04 05:53:50        🧑  作者: Mango
原子是字面量,是带有名称的常量。如果原子不是以小写字母开头,或者包含字母数字字符,下划线(_)或@以外的其他字符,则将其括在单引号(’)中。以下程序是如何在Erlang中使用原子的示例。该程序分别声明3个原子,分别为atom1,atom_1和’atom 1’。因此,您可以看到声明原子的不同方法。例现场演示上述程序的输出如下:输出让我们看一下Erlang中一些可用于原子的方法。Sr.No.Metho...
📅  最后修改于: 2020-11-04 05:54:07        🧑  作者: Mango
映射是具有可变数量的键值关联的复合数据类型。映射中的每个键-值关联称为关联对。该对中的键和值部分称为元素。关联对的数量被称为地图的大小。以下程序显示了如何使用Map数据类型的示例。在这里,我们定义了具有2个映射的Map M1。map_size是用Erlang定义的内置函数,可用于确定地图的大小。例现场演示上述程序的输出如下。输出适用于地图的其他一些方法如下。Sr.No.Methods & Desc...
📅  最后修改于: 2020-11-04 05:54:22        🧑  作者: Mango
元组是具有固定数量项的复合数据类型。元组中的每个术语都称为元素。元素的数量被称为元组的大小。以下程序显示了如何使用Tuple数据类型的示例。在这里,我们定义一个具有3个项的元组P。tuple_size是用Erlang定义的内置函数,可用于确定Tuple的大小。例现场演示上述程序的输出如下。输出让我们看一下可用于元组的更多操作。Sr.No.Methods & Description1is_tuple...
📅  最后修改于: 2020-11-04 05:54:47        🧑  作者: Mango
Erlang具有创建记录的额外功能。这些记录由字段组成。例如,您可以定义一个个人记录,其中包含2个字段,一个是id,另一个是name字段。然后,在Erlang中,您可以创建此记录的各种实例,以定义具有不同名称和ID的多个人。让我们探索如何处理记录。创建记录使用记录标识符创建记录。在此记录标识符中,指定构成记录的各个字段。下面给出了一般语法和示例。句法参量recordname-这是给记录的名称。Fi...
📅  最后修改于: 2020-11-04 05:55:15        🧑  作者: Mango
任何编程语言都需要异常处理来处理运行时错误,以便可以维护应用程序的正常流程。异常通常会中断应用程序的正常流程,这就是为什么我们需要在应用程序中使用异常处理的原因。通常,当Erlang中发生异常或错误时,将显示以下消息。故障转储将被写入-在Erlang中,有3种例外类型-错误-调用erlang:error(Reason)将结束当前进程的执行,并在捕获到最后一个函数及其参数时包含堆栈跟踪。这些是引发以...
📅  最后修改于: 2020-11-04 05:55:32        🧑  作者: Mango
宏通常用于内联代码替换。在Erlang中,宏是通过以下语句定义的。-define(常数,替换)。-define(Func(Var1,Var2,..,Var),替换)。以下是使用第一种语法的宏示例-例现场演示从上面的程序中,您可以看到使用“?”扩展了宏。符号。常量将替换为宏中定义的值。上面程序的输出将是-输出使用函数类的宏的示例如下-例现场演示上面程序的输出将是-输出以下附加语句可用于宏-undef...
📅  最后修改于: 2020-11-04 05:55:49        🧑  作者: Mango
头文件就像其他任何编程语言中的包含文件一样。这对于将模块拆分为不同的文件,然后将这些头文件访问为单独的程序很有用。要查看实际的头文件,让我们看一下我们较早的记录示例之一。首先创建一个名为user.hrl的文件,并添加以下代码-现在在我们的主程序文件中,添加以下代码-例从上面的程序中可以看到,实际上我们只是包含了user.hrl文件,该文件会自动在其中插入–record代码。如果执行上述程序,将得到...
📅  最后修改于: 2020-11-04 05:56:04        🧑  作者: Mango
在编译Erlang模块之前,它会由Erlang预处理程序自动处理。预处理器将扩展源文件中可能存在的所有宏,并插入任何必需的包含文件。通常,您不需要查看预处理器的输出,但是在特殊情况下(例如,调试错误的宏时),您可能希望保存预处理器的输出。要查看预处理模块some_module.erl的结果,请使用OS Shell命令。例如,假设我们有以下代码文件-例如果我们从命令行执行以下命令-将会生成一个名为h...
📅  最后修改于: 2020-11-04 05:56:19        🧑  作者: Mango
模式看起来与术语相同–它们可以是简单的字面量,例如原子和数字,也可以是诸如元组和列表的复合词,或两者的混合。它们还可以包含变量,这些变量是以大写字母或下划线开头的字母数字字符串。当您不关心要匹配的值并且不会使用它时,将使用特殊的“匿名变量” _(下划线)。如果模式与被匹配的术语具有相同的“形状”,则该模式匹配,并且遇到的原子相同。例如,以下匹配成功-B = 1。2 = 2。{ok,C} = {ok...
📅  最后修改于: 2020-11-04 05:56:49        🧑  作者: Mango
防护是可以用来增加模式匹配功能的结构。使用警卫,我们可以对模式中的变量执行简单的测试和比较。Guard语句的一般语法如下-哪里,Function(parameter)-这是在保护条件下使用的函数声明。参数-通常,保护条件基于该参数。条件-应该评估条件以查看是否应该执行函数。当指定了保护条件时,必须使用when语句。让我们看一下如何使用守卫的简单示例-例现场演示关于上述示例,需要注意以下几点:显示函...
📅  最后修改于: 2020-11-04 05:57:09        🧑  作者: Mango
BIF是Erlang中内置的函数。他们通常执行无法在Erlang中编程的任务。例如,不可能将列表变成元组或找到当前时间和日期。为了执行这样的操作,我们称为BIF。让我们举一个如何使用BIF的例子-例现场演示关于上述示例,需要注意以下几点:在第一个示例中,我们使用称为tuple_to_list的BIF将元组转换为列表。在第二个BIF函数,我们使用时间函数来输出系统时间。上面程序的输出如下:输出让我们...
📅  最后修改于: 2020-11-04 05:57:26        🧑  作者: Mango
使用称为二进制的数据结构来存储大量原始数据。二进制文件以比列表或元组更节省空间的方式存储数据,并且运行时系统针对二进制文件的有效输入和输出进行了优化。二进制文件以整数或字符串序列的形式编写和打印,并以小于和大于括号的两倍括起来。以下是Erlang中二进制文件的示例-例现场演示当我们运行上面的程序时,我们将得到以下结果。输出让我们看一下可用于Binaries的Erlang函数-Sr.No.Metho...
📅  最后修改于: 2020-11-04 05:57:47        🧑  作者: Mango
Fun用于在Erlang中定义匿名函数。匿名函数的一般语法如下:句法哪里F-这是分配给匿名函数的变量名。Arg1,Arg2,… ArgN-这些是传递给匿名函数的参数。以下示例展示了如何使用匿名函数。例现场演示关于上述程序,需要注意以下几点。匿名函数被分配给变量A。通过变量A()的匿名函数。当我们运行上面的程序时,我们将得到以下结果。匿名函数的另一个示例如下,但这是使用参数的情况。现场演示当我们运行...