鍍金池/ 教程/ Java/ Erlang模塊
Erlang關(guān)系運(yùn)算符實(shí)例
Erlang決策
Erlang運(yùn)算符
Erlang if語(yǔ)句
Erlang Shell
Erlang循環(huán)(while和for)
Erlang函數(shù)
Erlang內(nèi)嵌if語(yǔ)句
Erlang模塊
Erlang多表達(dá)式
Erlang算術(shù)運(yùn)算符示例
Erlang位運(yùn)算符實(shí)例
Erlang變量
Erlang基礎(chǔ)語(yǔ)法
Erlang遞歸
Erlang邏輯運(yùn)算符實(shí)例
Erlang case語(yǔ)句
Erlang環(huán)境配置(開(kāi)發(fā)環(huán)境)
Erlang數(shù)據(jù)類型
Erlang教程

Erlang模塊

模塊是在一個(gè)單一的文件重新組合的函數(shù),在一個(gè)單一的名稱。此外,在 Erlang 所有函數(shù)必須在模塊定義。
大部分像算術(shù),邏輯和布爾操作符的基本函數(shù)已經(jīng) Erlang 內(nèi)部集成提供并且可以直接調(diào)用,因?yàn)樵谶\(yùn)行程序時(shí)的默認(rèn)模塊被加載。一個(gè)模塊中使用定義的所有其他函數(shù)需要使用形式 Module:Function (參數(shù)) 來(lái)調(diào)用。

定義模塊

有了模塊,我們可以聲明兩個(gè)東西:函數(shù)和屬性。屬性就類似它的名稱,描述模塊本身的元數(shù)據(jù),這應(yīng)該是明顯的向外界的功能,如:代碼作者等等。這種元數(shù)據(jù)是非常有用的,因?yàn)樗o編譯器提示讓它知道怎么做自己的工作,而且它可以讓人們檢索編譯后的代碼中的有用信息,而不必征求源代碼。
函數(shù)聲明的語(yǔ)法如下 -

語(yǔ)法

-module(modulename)
這里,modulename 是模塊的名稱。這必須在模塊代碼的第一行。下面的程序顯示了一個(gè)叫 helloworld 模塊的一個(gè)例子。

示例

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

start() -> 
   io:fwrite("Hello World").
上面的代碼的輸出結(jié)果是 -
Hello World

模塊屬性

模塊屬性定義模塊的某些特性。模塊屬性包含一個(gè)標(biāo)簽和值。
屬性的一般語(yǔ)法是 -

語(yǔ)法

-Tag(Value)
下面的例子程序是用來(lái)演示模塊屬性如何使用 -

示例

-module(helloworld). 
-author("TutorialPoint"). 
-version("1.0"). 
-export([start/0]). 

start() -> 
   io:fwrite("Hello World").
以上程序定義2個(gè)自定義屬性:author 和 version,分別用來(lái)表示該程序的作者和版本號(hào)。
上面的代碼的輸出結(jié)果是 -
Hello World

預(yù)先內(nèi)置屬性

Erlang 有可連接到模塊的某些預(yù)先內(nèi)置構(gòu)建的屬性,讓我們來(lái)看看。

導(dǎo)出

導(dǎo)出屬性將使用函數(shù)和參數(shù)數(shù)量列表導(dǎo)出到其他模塊。它將定義模塊接口。我們?cè)谇懊娴睦又幸呀?jīng)看到了這一點(diǎn)。

語(yǔ)法

export([FunctionName1/FunctionArity1,.,FunctionNameN/FunctionArityN])

在這里,

  • FunctionName ? 這是程序中的函數(shù)名稱;

  • FunctionArity ? 這是與函數(shù)相關(guān)聯(lián)的參數(shù)數(shù)目;

示例

-module(helloworld). 
-author("TutorialPoint"). 
-version("1.0"). 
-export([start/0]). 

start() -> 
   io:fwrite("Hello World").

上面的代碼的輸出結(jié)果是 -

Hello World

導(dǎo)入

導(dǎo)入屬性用于從另一模塊導(dǎo)入函數(shù)以將其在本地使用

語(yǔ)法

-import (modulename , [functionname/parameter]).

在這里,

  • Modulename ? 這是需要導(dǎo)入的模塊的名稱

  • functionname/parameter ? 這是在模塊中需要導(dǎo)入的函數(shù)

示例

-module(helloworld). 
-import(io,[fwrite/1]). 
-export([start/0]). 

start() -> 
   fwrite("Hello, world!\n").
在上面的代碼中,我們使用的是 import 這個(gè)關(guān)鍵字來(lái)導(dǎo)入庫(kù) “io”,指定導(dǎo)入 fwrite 函數(shù)。所以,現(xiàn)在每當(dāng)調(diào)用fwrite函數(shù),不必每次都要帶上模塊的名稱。
上面的代碼的輸出結(jié)果是 -
Hello, world! 

上一篇:Erlang if語(yǔ)句下一篇:Erlang教程