Erlang - 基本语法

Erlang - 基本语法 首页 / Erlang入门教程 / Erlang - 基本语法

为了了解Erlang的基本语法,我们首先来看一个简单的 Hello Learnfk 程序。

% hello Learnfk program
-module(helloLearnfk). 
-export([start/0]). 

start() -> 
   io:fwrite("Hello, Learnfk!\n").

关于上述程序,需要注意以下几点:

  • % 符号用于向程序添加注释。

  • module 是名称空间。

  • 我们定义了一个名为start的函数,为了使用start函数,我们必须使用export语句。 /0 表示我们的函数" start"接受0个参数。

  • 我们终于定义了start函数。 在这里,我们使用另一个名为io的模块,该模块在Erlang中具有所有必需的Input Output函数。 我们使用fwrite函数将“ Hello Learnfk”输出到控制台。

上面程序的输出将是-

Hello, Learnfk!

声明形式

让我们看一下我们从一个简单的Hello Learnfk程序中看到的内容-

  • symbol(–) 通常与模块,import和export语句一起使用,因此,Hello Learnfk程序中的示例显示在以下程序中-

-module(helloLearnfk).
-export([start/0]).

每个语句都用点(.)符号定界,Erlang中的每个语句都需要以该定界符结尾, Hello Learnfk程序的如下示例所示:

io:fwrite("Hello, Learnfk!\n").
  • 斜杠(/)符号与函数一起使用,以定义函数可接受的参数数量。

-export([start/0]).

Modules模块

在Erlang中,所有代码都分为模块,一个模块由一系列属性和函数声明组成。

定义模块

使用模块标识符定义模块,通用语法和如下。

无涯教程网

-module(ModuleName)

ModuleName 必须与文件名相同,减去扩展名 .erl 。否则,代码加载将无法按预期进行。

-module(helloLearnfk)

这些模块将在随后的章节中详细介绍,这只是为了使您基本了解应如何定义模块。

Erlang导入语句

在Erlang中,如果要使用现有Erlang模块的功能,则可以使用import语句,以下程序描述了import语句的一般形式-

-import (modulename, [functionname/parameter]).
  • Modulename                     - 这是需要导入的模块的名称。

  • functionname/parameter - 模块中需要导入的函数。

让我们改变编写hello Learnfk程序以使用import语句的方式,该示例将在以下程序中显示。

% hello Learnfk program
-module(helloLearnfk).
-import(io,[fwrite/1]).
-export([start/0]).

start() ->
   fwrite("Hello, Learnfk!\n").

在上面的代码中,我们使用import关键字导入库“ io”,尤其是fwrite函数。因此,现在无论何时调用fwrite函数,都不必在任何地方都提到io模块的名称。

Erlang关键字

关键字是Erlang中的保留字,不得将其用于预定目的以外的任何其他目的。以下是Erlang中的关键字列表。

afterandandalsoband
beginbnot bor bsl
bsr bxorcasecatch
cond div endfun
if letnot of
or orelsereceive rem
trywhen xor

Erlang注释

注释用于记录您的代码,通过在行中的任何位置使用%符号来标识单行注释。

% hello Learnfk program
-module(helloLearnfk).
% import function used to import the io module
-import(io,[fwrite/1]).
% export function used to ensure the start function can be accessed.
-export([start/0]).

start() ->
   fwrite("Hello, Learnfk!\n").

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

从0开始学游戏开发 -〔蔡能〕

软件测试52讲 -〔茹炳晟〕

玩转Git三剑客 -〔苏玲〕

编译原理之美 -〔宫文学〕

架构实战案例解析 -〔王庆友〕

后端存储实战课 -〔李玥〕

高楼的性能工程实战课 -〔高楼〕

技术面试官识人手册 -〔熊燚(四火)〕

遗留系统现代化实战 -〔姚琪琳〕

好记忆不如烂笔头。留下您的足迹吧 :)