示例
% hello world program
-module(helloworld).
-export([start/0]).
start() ->
io:fwrite("Hello, world!\n").
对上述程序需要注意下面的一些事项 -
-
%符号是用来在程序中添加注释的;
-
模块声明中,就像其它编程语言中的命名空间一样。所以在这里,这个代码将是一个叫作 helloworld 模块的一部分;
-
export 函数用于使得程序中定义的任何函数都可以使用。我们定义了一个名为 start 的函数,但是如果要使用 start 函数,我们必须使用 export 语句。而 /0 则表 start 函数接受 0 个参数。
-
最后,我们定义 start 函数。在这里,我们使用一个模块: io ,这个模块在 Erlang 中提供有输入输出功能。
我们使用 fwrite 函数来输出 “Hello World” 到控制台。
上述程序保存到一个文件:
helloworld.erl,并放到
D:\worsp 目录下,打开终端,进入到
D:\worsp 目录下,执行以下命令,将会输出如下结果 -
语句的一般形式
你可能已经看到在 Erlang 语言中使用不同的符号。让我们通过一个简单的 Hello World 程序来说明 -
-module(helloworld).
-export([start/0]).
每个语句分隔用点(.)符号。在 Erlang 中每个语句需要使用此分隔符作为这个语句的结束。在 Hello World 程序的例子程序如图所示 -
io:fwrite("Hello, world!\n").
-export([start/0]).
模块
在Erlang中,所有的代码都会分为模块。一个模块是由一系列的属性和函数声明来组成。它就类似于在其他编程语言中的命名空间,用来在不同的代码单元的逻辑上分开是同一个概念的。
定义模块
模块使用 module 标识符定义。一般语法及其示例如下。
语法
-module(ModuleName)
模块名称必须与文件名减去扩展名 .erl 后相同。否则,预期代码将无法加载正常工作。
语法
-module(helloworld)
这些模块在随后的章节中被覆盖,这只是让你对模块应当如何定义有一个基本的理解。
Erlang中的 import 语句
在 Erlang 中,如想使用 Erlang 中现有模块的功能,可以使用 import 语句。import语句的一般形式如下面程序中描述 -
示例
-import (modulename, [functionname/parameter]).
在这里,
让我们修改之前写的 Hello World 程序,在其中使用一个 import 语句。
如下面的示例程序中所示:
示例
% hello world program
-module(helloworld).
-import(io,[fwrite/1]).
-export([start/0]).
start() ->
fwrite("Hello, world!\n").
在上面的代码中,我们使用 import 关键字导入库 “io”,并指定 fwrite 函数。所以,现在每当调用 fwrite 函数时,我们不必再加上 io 这个模块名称。
Erlang中的关键词
关键字是在 Erlang 中一个保留字,不应被用于其目的之外的其他任何不同的目的。
以下是 Erlang 中的关键字列表。
after
|
and
|
andalso
|
band
|
begin
|
bnot
|
bor
|
bsl
|
bsr
|
bxor
|
case
|
catch
|
cond
|
div
|
end
|
fun
|
if
|
let
|
not
|
of
|
or
|
orelse
|
receive
|
rem
|
try
|
when
|
xor
|
|
Erlang中的注释
注释用于在代码中注释(注解)说明代码。单行注释用 % 符号在该行的任何位置来识别。
以下是使用注释的一个例子 -
示例
% hello world program
-module(helloworld).
% 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, world!\n").