近期研究RabbitMQ,發現它是基於Erlang實現的,於是對Erlang這么語言發生了興趣,官網地址 http://www.erlang.org/ ,去下載一個最新的版本,我下載的是5.9.1版本,Windows版本R15B01 Windows Binary File (90.7 MB) , 下載后一路解壓安裝即可,不用單獨做什么設置,Erlang語言就可以使用了,然后就可以開始使用它里面的 Eshell程序 進行編程。
這是一個命令行程序,可以直接在里面輸入表達式進行計算,例如來一個簡單的:
Eshell V5.9.1 (abort with ^G)
1> 100+300.
400
2>
注意在語句的結尾輸入“.”以表示完成,回車就開始計算結果了,如上面所示。
下面,我們用記事本寫一個階乘的Erlang程序:
- export([fac/1]).
fac(0) -> 1;
fac(N) -> N * fac(N-1).
這個程序定義了一個叫做 “test”的模塊,里面包含一個名字叫做fac的函數,該函數有1個參數。
按照Erlang的約定,文件名必須跟模塊名稱一致,於是我們將這個文件保存為 “test.erl”,文件保存在D:\test1目錄下。
問題來了,怎么運行這個文件呢?使用 cd 方法,改變Erlang當前的工作路徑:
d:/test1
ok
3>
然后編譯剛才的程序文件:
3> c(test).
{ok,test}
4>
注意,編譯命令c 的參數寫 明文件里面定義的模塊名稱即可,也不用加雙引號。編譯后,將在當前工作目錄下面生成文件“test.beam”
然后,可以執行模塊中的方法了:
** exception error: undefined shell command fac/1
5> test:fac(10).
3628800
6>
注意,這里是使用自定義的“外部模塊”,所以執行的時候需要寫明 模塊名稱:方法名稱(參數)。
如果下次需要重新加載編譯好的程序怎么辦?
很簡單,使用 l(模塊名稱) 即可,如下例:
{ module,test}
7> test:fac(4).
24
8>
到此為止,安裝、編寫、編譯、運行、加載 一個Erlang 語言程序的全過程就完成了,入門過程還是很簡單吧?
Erlang 學習參考:
Erlang Programming拾零
用Erlang實現領域特定語言
另外安裝后,它本身的幫助文檔也比較全面,初學已經完全夠用了。
