Erlang語言學習入門


近期研究RabbitMQ,發現它是基於Erlang實現的,於是對Erlang這么語言發生了興趣,官網地址 http://www.erlang.org/ ,去下載一個最新的版本,我下載的是5.9.1版本,Windows版本R15B01 Windows Binary File (90.7 MB) ,   下載后一路解壓安裝即可,不用單獨做什么設置,Erlang語言就可以使用了,然后就可以開始使用它里面的 Eshell程序 進行編程。

這是一個命令行程序,可以直接在里面輸入表達式進行計算,例如來一個簡單的:

 

Erlang R15B01 (erts-5.9.1) [smp:4:4] [async-threads:0]

Eshell V5.9.1  (abort with ^G)
1> 100+300.
400
2> 

 

注意在語句的結尾輸入“.”以表示完成,回車就開始計算結果了,如上面所示。

下面,我們用記事本寫一個階乘的Erlang程序:

 

- module(test).
- export([fac/1]).

fac(0) -> 1;
fac(N) -> N * fac(N-1). 

這個程序定義了一個叫做 “test”的模塊,里面包含一個名字叫做fac的函數,該函數有1個參數。

按照Erlang的約定,文件名必須跟模塊名稱一致,於是我們將這個文件保存為 “test.erl”,文件保存在D:\test1目錄下。

問題來了,怎么運行這個文件呢?使用 cd 方法,改變Erlang當前的工作路徑:

 

2> cd("d:/test1").
d:/test1
ok
3> 

然后編譯剛才的程序文件:

 

ok
3> c(test).
{ok,test}
4> 

注意,編譯命令c 的參數寫 明文件里面定義的模塊名稱即可,也不用加雙引號。編譯后,將在當前工作目錄下面生成文件“test.beam”

然后,可以執行模塊中的方法了:

 

4> fac(10).
** exception error: undefined shell command fac/1
5> test:fac(10).
3628800
6> 

注意,這里是使用自定義的“外部模塊”,所以執行的時候需要寫明 模塊名稱:方法名稱(參數)。

 

如果下次需要重新加載編譯好的程序怎么辦?

很簡單,使用 l(模塊名稱) 即可,如下例:

 

6> l(test).
{ module,test}
7> test:fac(4).
24
8> 

到此為止,安裝、編寫、編譯、運行、加載 一個Erlang 語言程序的全過程就完成了,入門過程還是很簡單吧?

 

Erlang 學習參考:

 

Erlang Programming拾零

 

用Erlang實現領域特定語言

 

另外安裝后,它本身的幫助文檔也比較全面,初學已經完全夠用了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM