在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 區(qū)塊鏈/ 第 二 章 結(jié)構(gòu)和Erlang術(shù)語(yǔ)
第 三 章 軟件工程的原則
第 4 章 錯(cuò)誤處理機(jī)制
9 最常見(jiàn)的錯(cuò)誤
6 幾種 Erlang 的特殊慣例
第 5 章 進(jìn)程、服務(wù)及消息
8 文檔
7 特殊的語(yǔ)法規(guī)范
使用 Erlang 編程開(kāi)發(fā)——編程規(guī)則及規(guī)范
第 二 章 結(jié)構(gòu)和Erlang術(shù)語(yǔ)
10 必備文檔

第 二 章 結(jié)構(gòu)和Erlang術(shù)語(yǔ)

Erlang 系統(tǒng)由各種模塊(module)組成。模塊則由函數(shù)(function)和屬性(attribute)構(gòu)成。函數(shù)或者只能在某個(gè)模塊范圍內(nèi)中被調(diào)用,或者是可以被導(dǎo)出(exported)的函數(shù),例如可以被其他模塊中的其他函數(shù)所調(diào)用。屬性名稱必須帶有 - 前綴,且放置于模塊的開(kāi)頭。

在利用 Erlang 設(shè)計(jì)的系統(tǒng)中,任務(wù)是通過(guò)進(jìn)程(process)來(lái)完成的。進(jìn)程是一種能夠在很多模塊中使用函數(shù)的任務(wù)。進(jìn)程間通過(guò)傳遞消息(sending message)來(lái)進(jìn)行通信。進(jìn)程不僅能夠接收(receive)發(fā)送給它們的消息,而且還能確定準(zhǔn)備接收何種消息。當(dāng)接收進(jìn)程還未準(zhǔn)備好接收消息時(shí),消息會(huì)自動(dòng)進(jìn)入排隊(duì)等候狀態(tài)。

進(jìn)程能夠通過(guò)創(chuàng)建一個(gè)鏈接來(lái)監(jiān)控其他進(jìn)程是否存在。當(dāng)某一進(jìn)程終止時(shí),它會(huì)自動(dòng)向其所鏈接的進(jìn)程發(fā)送退出信號(hào)(exit signal)。默認(rèn)情況下,當(dāng)進(jìn)程接收到退出信號(hào)時(shí),就會(huì)終止并將該信號(hào)傳播給它所鏈接的進(jìn)程。通過(guò)捕獲退出信號(hào)(trapping exits),進(jìn)程可以改變這一默認(rèn)行為,從而導(dǎo)致所有發(fā)送給一個(gè)進(jìn)程的退出信號(hào)都轉(zhuǎn)變成消息。

純函數(shù)(pure function):當(dāng)參數(shù)相同時(shí),函數(shù)返回值也相同,與函數(shù)調(diào)用上下文無(wú)關(guān)。這一特點(diǎn)與數(shù)學(xué)上的函數(shù)比較一致。不純的函數(shù),在 Erlang 中被稱之為具有副作用。

副作用通常發(fā)生在以下這些情況中:函數(shù)(a)發(fā)送消息;(b)接收消息;(c)調(diào)用 exit 命令;(d)調(diào)用 BIF1 從而改變進(jìn)程環(huán)境或操作模式(比如:get/1,put/2erase/1,process_flag/2,等等)

1. Erlang 內(nèi)建函數(shù),Built-In Function 的縮寫。

警告:本文檔中的一些范例代碼效率并不理想,希望你能加以改進(jìn)。