Erlang 基礎學習 5 編譯和執行

2021-08-29 16:55:16 字數 1482 閱讀 3887

如何退出erlang 的shell

• ^g + d

• ^c + a

• erlang:halt(). 暴力退出,很快,但是如果開啟了乙個很大的資料庫的話,下次啟動可能要作recover

• q(). 或者init:stop(). 將關閉所有開啟的檔案,停止資料庫,按次序停止所有的otp程式

修改開發環境

• **查詢路徑(類似於classpath),可以通過code:get_path().檢視當前的路徑

• @spec code:add_patha(dir) => true |   加在最前面

• @spec code:add_pathz(dir) => true |   加在最後面

• 通過code:all_loaded().檢視當前裝載的**

• code:clash().可以幫助檢查在路徑上的名字衝突

• • 1. 可以修改$home/.erlang 來設定路徑,例如:

• code:add_patha("/home/argan/erl").

• 2. 也可以通過命令列引數來指定,例如:

• erl -pa /home/argan/erl/ -pz /home/argan/erl2/ -pz /home/argan/erl3/

• 3. 當前路徑的.erlang 比$home/.erlang優先順序高

• 4. 可以通過init:get_arguments().和init:get_argument(argumentname).來檢視引數

執行程式

• 1. 在shell裡執行c(module). module:func(param).

• 2. 在命令列erl -noshell -s hello start  -s init stop

• 3. 還可以不寫檔案,直接eval,例如

• erl -eval 'io:format("memory: ~p~n" , [erlang:memory(total)]).'  -noshell -s init stop

• 4. 用escript,需要乙個main,例如:

#!/usr/bin/env escript

main(_) ->

io:format("hello world\n" ).

makefile

• 略erlang shell

• 有部分emacs風格的鍵盤繫結

• ^a 行首

• ^e 行尾

• ^f 前進

• ^b 後退

• ^p 上一行

• ^n 下一行

• ^t 交換最後兩個字元

• tab 自動補全module名和function名,很好用啊!!

• 建立乙個user_default module,裡面的函式也都可以直接在shell裡呼叫

• webtool:start().有很多任務具可以使用,比如分析crash dump的工具

erlang入門之編譯和執行

測試erlang指令碼如下 module empty author mmc api export test 1,test 0 test io format no arg n test x io format p n x 編譯,一種是進入erl,然後 c empty 然後執行 empty test e...

erlang入門之編譯和執行

測試erlang指令碼如下 module empty author mmc api export test 1,test 0 test io format no arg n test x io format p n x 編譯,一種是進入erl,然後 c empty 然後執行 empty test e...

erlang學習之基礎語法

1.變數與資料型別 1 每一條表示式都必須以乙個句號後接乙個空白字元結尾。形如 12 13.2 erlang是一種函式式語言,一旦定義了x 123,那麼x永遠是123,不允許改變。即erlang中不能重新繫結變數 3 變數和原子 i.erlang的變數以大寫字母開頭,如x a long name等 ...