Erlang模組與Erlang程式的執行方法

2021-08-09 07:05:25 字數 1482 閱讀 5871

一、模組與程式檔案

erlang是一種函式式程式語言,當我們要完成乙個專案時,總不可能把所有的函式都定義在乙個程式檔案中,為了開發和維護方便,通常按邏輯功能劃分將其分別分散在多個程式檔案中。

每個erlang程式檔案就是乙個模組,檔名的副檔名部分為.erl,模組的名稱必須與檔名稱中的主檔名完全相同(不包括副檔名.erl)。

在erlang程式檔案中,用以下模組指令來命名模組,其形式如下:

-module(mname).

我們並不希望乙個erlang模組中的所有函式可以在模組外部隨意呼叫,因為有的函式是不允許或不需要從模組外呼叫,所以模組中的函式在外部是不能隨意呼叫的,只有在模組中被匯出的函式才可以在外部被呼叫,匯入指令形式如下:

-export([hw/0,...]).

其中,[hw/0]為所有被匯出函式的列表,匯出時用函式名和引數個數作為匯出函式的依據,中間用「/」分隔。

然而,在模組的除錯階段,為了方便測試模組內部的函式功能,用export乙個個匯出又比較麻煩,這時可以使用模組指令compile一次匯出所有函式:

-compile(export_all).

以下為乙個簡單程式檔案(模組):

%filename: hw.erl

-module(hw).

-export([start/0]).

-compile(export_all).

start() ->

io:format("hello world!~n").

二、erlang程式檔案執行

erlang程式的執行一般需要兩個步驟,即編譯和執行。通過編譯生成與程式檔案的主檔名相同而擴充套件名為.beam的檔案,然後就可以執行了。要執行erlang程式,可以在erlang的互動式命令列下或直接在命令列下編譯後執行。

1.在互動式環境下編譯與執行,其過程如下圖:

命令列1中呼叫cd()函式,切換當前目錄至源程式的目錄下。

命令列2中呼叫c()函式,對hw.erl檔案進行編譯。(此處出現了匯出所有函式的警告)

命令列3中通過hw:start()呼叫了程式中的函式,顯示出了程式的執行結果。

2.直接在命令提示符下編譯和執行erlang的程式檔案

命令列1使用erlc命令對程式檔案進行編譯,顯示的警告資訊和互動模式下相同。

命令列2使用erl命令來呼叫模組中的函式執行程式。其引數-noshell指示不啟動互動式環境;-s hw start表示呼叫hw模組中的start函式;-s init stop是通過呼叫函式退出erlang執行環境。

erlang 佇列(queue)模組

queue模組部分api說明 新建乙個佇列,返回兩個為空的列表組成的元組 是否是佇列,通過判斷元組是否由兩個列表組成 是否為空佇列,通過判斷兩個列表是否為空 佇列長度,通過獲取兩個列表長度相加實現 佇列轉為列表,由out列表拼接反轉後的in列表實現 列表轉為佇列,呼叫了f2r f2r f2r f f...

Erlang 學習小記 erlang 表,

cmd 控制台 輸入 erl 可以進入erl的shell 就可以 使用erlang 語法 進行控制 erl每個語句結束用 結尾 運算算數運算和其他語言基本一樣 在控制台 輸出 1 2加個 再按回車 即可得到輸出結果 模組中如果想要呼叫其他模組 需要在頭部 新增 module 模組名字 加 即可 模組...

Erlang與RabbitMQ解除安裝

警醒自己 學習訊息中介軟體,能用 linux 盡量用 linux,在 windows 裝 rabbitmq 就是乙個錯!先解除安裝rabbitmq,後解除安裝erlang rabbitmq解除安裝,rabbitmq安裝目錄下選擇uninstall.exe進行解除安裝 忘記截圖 erlang解除安裝,...