亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 3069 | 回復(fù): 2
打印 上一主題 下一主題

[其他] erlang 第6章要點(diǎn) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2009-07-11 18:23 |只看該作者 |倒序?yàn)g覽

1. erlang:halt()可以即刻停止系統(tǒng)運(yùn)行。
2. q()命令可以完成文件和數(shù)據(jù)庫(kù)的一些處理后再退出。它是init:stop()的一個(gè)shell別名
3. erlang可以動(dòng)態(tài)加載代碼,正在運(yùn)行的代碼可以在重新編譯后動(dòng)態(tài)加裁而不用停止程序的運(yùn)行。
4. 模塊加載相關(guān)函數(shù):
  code:get_path()                %% 可以獲取當(dāng)前加載路徑的設(shè)定值。
   code:all_loaded()        %% 獲取所有已經(jīng)加載的模塊。
  code:clash()                %% 看加載的模塊是否有沖突。
        另外
  @spec code:add_patha(Dir) => true | {error, bad_directory}        %% 增加一個(gè)新的目錄到加載路徑的開(kāi)頭。
  @spec code:add_pathz(Dir) => true | {error, bad_directory}        %% 增加一個(gè)新的目錄到加載路徑的末尾。
5. 啟動(dòng)erlang時(shí)增加加載路徑:
  erl -pa Dir1 -pa Dir2 ... -pz DirK1 -pz DirK2
   其中-pa相當(dāng)于add_patha,-pz相當(dāng)于add_pathz
6. 在erlang的home目錄下(或當(dāng)前目錄下)可以加一個(gè).erlang文件,在這個(gè)文件中可以寫(xiě)一些erlang代碼,erlang在啟動(dòng)時(shí)首先執(zhí)行這里面的代碼。
   一般情況一下可以將加載目錄的命令放到這個(gè)。
   如果不清楚當(dāng)前系統(tǒng)下erlang的home目錄,可以用init:get_argument(home).來(lái)獲取。
   當(dāng)前目錄下的.erlang文件比home目錄下的.erlang文件的優(yōu)先級(jí)要高。

7. 除了在shell中運(yùn)行一個(gè)模塊外,還有以下的方法:
          方法一:命令行下編譯運(yùn)行
                  $ erlc hello.erl
                  $ erl -noshell -s hello start -s init stop       
   %% 可以加-pa/-pz命令選項(xiàng)在這個(gè)命令行中
                          %% 可以將這個(gè)命令行寫(xiě)到一個(gè)shell腳本中(如bash腳本),這樣就可以直接執(zhí)行腳本平啟動(dòng)erlang程序了。
                          %% 在windows下可以寫(xiě)一個(gè)bat文件,將這個(gè)命令寫(xiě)入。
          方法二:將程序當(dāng)作escript腳本運(yùn)行(不用編譯),只有erlang R11B-4以后的版本才支持escript,在windows下不行
                  #!/usr/bin/env escript
                main(_) -> io:format("Hello world\n").        %% 這個(gè)函數(shù)需要是main,escript從這個(gè)函數(shù)開(kāi)始
          方法三:當(dāng)程序需要參數(shù)時(shí),如何在命令行輸入?yún)?shù)。
   -s選項(xiàng)后面是:ModName FuncName Args,其中Args是一個(gè)原子的參數(shù)列表。所以我們?cè)诔绦蛑凶詈糜幸粋(gè)處理命令行參數(shù)的函數(shù)。像這樣:        main([A]) -> I = list_to_integer(atom_to_list(A)), ... %% 這里只接收一個(gè)參數(shù),如果需要兩個(gè)可以這樣main([A, B]) -> ...
                escript與其它的腳本一樣,運(yùn)行時(shí)直接將參數(shù)放到后面就可以了。
8. atom_to_list(Atom) -> string 可以獲取原子的字符串形式
9. list_to_integer(List) -> int 可以獲取一個(gè)字符串的整數(shù)形式
10. 快速腳本:用-eval在命令行上直接運(yùn)行一個(gè)erlang表達(dá)式,這個(gè)方法沒(méi)什么大用途,我在windows測(cè)試好像沒(méi)有顯示什么內(nèi)容。
        erl -eval 'io:format("Memory: ~p~n", [erlang:memory(total)]).' -noshell -s init stop

11. 一個(gè)makefile模板
# leave these lines alone
.SUFFIXES: .erl .beam .yrl # .yrl文件是erlang解析生成器程序(yecc)的解析定義文件

.erl.beam:
        erlc -W $        erlc -W $        module3 ... special1 ...\
        muduleN

all: compile

compile: ${MODS:%=%.beam} subdirs

#特殊情況,特殊編譯
special1.beam: special1.erl
        ${ERL} -Dflag1 -W0 special1.erl

#運(yùn)行程序
application1: compile
        ${ERL} -pa Dir1 -s application1 start Arg1 Arg2

#編譯子目錄,子目錄中也有makefile
subdirs:
        cd dir1; make
        cd dir2; make

clean:
        rm -rf *.beam erl_crash.dump        #erl_crash.dump是erlang的崩潰轉(zhuǎn)存文件
        cd dir1; make clean
        cd dir2; make clean

12. 一個(gè)精簡(jiǎn)makefile
.SUFFIXES: .erl .beam

.erl.beam:
        erlc -W $        ${ERL} -pa Dir1 -s module start

compile: ${MODS:%=%.beam}

clean:
        rm -rf *.beam erl_crash.dump

13. erlang shell中有一個(gè)emacs編輯器中的行編輯命令的一個(gè)子集。對(duì)于不用emacs的人沒(méi)有什么用,比如我。

14. erlang啟動(dòng)時(shí)帶有一個(gè)-detached選項(xiàng),它后在后臺(tái)運(yùn)行
15. erlang啟動(dòng)時(shí)帶有一個(gè)-heart Cmd選項(xiàng),系統(tǒng)會(huì)啟動(dòng)一個(gè)監(jiān)視進(jìn)程,如果發(fā)現(xiàn)erlang進(jìn)程死亡,監(jiān)視進(jìn)程就會(huì)執(zhí)行Cmd,通常Cmd會(huì)重啟Erlang系統(tǒng)。

16. 如果調(diào)用一個(gè)eralng函數(shù)時(shí)發(fā)生undef錯(cuò)誤,可能是以下幾種原因:
        (1)系統(tǒng)中不存在這個(gè)模塊或函數(shù),可能是拼寫(xiě)錯(cuò)誤。
        (2)系統(tǒng)中有這個(gè)模塊,但沒(méi)有編譯。
        (3)已經(jīng)編譯了,但它所在的目錄不在erlang的加載路徑中。
        (4)加載了幾個(gè)不同版本,我們可以通過(guò)code:clash()函數(shù)來(lái)看一下是否有重名的模塊。

17. JCL(Job Control Language)模式:在erlang shell中按下Ctrl+G會(huì)進(jìn)入JCL模式,可以輸入h尋求幫助。

18. man:在Unix系統(tǒng)的命令行中執(zhí)行:$ erl -man lists可以看到lists
19. 世界是并行的。
20. erlang程序模擬我們思考的反應(yīng)的模式。
21. 人就像是一個(gè)通過(guò)發(fā)送消息來(lái)進(jìn)行交流的實(shí)體。
22. 如果有人死了,其他人會(huì)注意到。
               
               
               

本文來(lái)自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/16651/showart_1993332.html

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2014-09-21 13:01 |只看該作者
21. 人就像是一個(gè)通過(guò)發(fā)送消息來(lái)進(jìn)行交流的實(shí)體。
22. 如果有人死了,其他人會(huì)注意到。

論壇徽章:
12
射手座
日期:2014-10-02 11:31:29程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-05-28 06:20:00每日論壇發(fā)貼之星
日期:2016-05-27 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-05-27 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-05-25 06:20:00每日論壇發(fā)貼之星
日期:2016-05-24 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-05-24 06:20:0015-16賽季CBA聯(lián)賽之深圳
日期:2016-05-23 15:33:59程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-05-20 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-04-26 06:20:00神斗士
日期:2015-12-03 09:27:3215-16賽季CBA聯(lián)賽之八一
日期:2016-12-29 09:56:05
3 [報(bào)告]
發(fā)表于 2016-05-09 18:15 |只看該作者
總之,多讀在線文檔,多實(shí)踐,是熟練使用er的關(guān)鍵。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP