歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Erlang中的基本元素操作

Erlang中的基本元素操作

日期:2017/3/1 9:31:31   编辑:Linux編程

Erlang shell中,用句號加空格、tab或回車來結束表達式,%表示注釋的起點,;隔離子句。模塊是.erl 文件,庫的頭文件.hrl, shell中的編譯時c(),外編譯命令時erlc, 退出shell用q(),或erlang:halt().

變量以大寫字母開頭,且不能重新綁定變量,只能一次性賦值,具有不可變狀態。

原子是全局的,不需要宏定義或包含文件,以小寫字母開頭,還可放在單引號內,是極簡表達式。

元組tuple是一些數量固定的項目歸組成單一實體{,}, 由於是匿名的,通常在第一個元素上貼標簽,來增加可讀性。提取元組中的值使用模式匹配操作符=,_為匿名變量,多個_不必綁定相同的值。但是,_Mode則是常規變量。例如:

2> Family={family,father,mother,son}.

{family,father,mother,son}

3> {_,X,Y,Z}=Family.

{family,father,mother,son}

4> X.

father

5> Y.

mother

6> Z.

Son

記錄是元組的另一種形式,可以給元組的各個元素關聯一個名稱。使用記錄的情形:

1) 用一些預先確定且數量固定的原子表示數據

2) 元素數量和元素名稱不會隨時間改變

3) 大元組中每個元組有相同的結構

采用#myrecord{k1=v1,k2=v2..}來創建record。

列表list形如[,,]可以存放任意數量的事物。Head可以是任何事物,Tail通常仍然是個列表。只要用[…|T]構建一個列表,就應確保T是一個列表。同樣使用模式匹配來提取列表中的元素。列表推導的常規形式:

[X||Qualifier1,Qualifier2,…]

X是任意一表達式,限定符qualifier可以生成器,位串生成器或過濾器。生成器的寫法

Pattern<- ListExpr

反轉一個列表時,要調用lists:reverse.

Erlang中沒有字符串,字符串是個整數列表,”HelloCloud”是一個列表的簡寫,io:format來指定打印輸出。

映射組是鍵值對的關聯性集合,內部作為有序計劃存儲,適用情形:

1) 鍵不能預知時來表示鍵值對數據結構

2) 存在大量不同鍵來表示數據

3) 效率不重要時的萬能數據結構

4) 自解釋型數據結構

5) 用來表示鍵值解析樹,如xml或配置文件

6) 用Json來通信

映射組的語法:

#{key1 op val1,key2 op val2,…,KeyN op valN}

#後沒有名稱,op是=>或:=之一。 => 將現有鍵值更新為新值或給映射組增加一個新鍵值對。 :=用於更新。 健不能包含任何變量,值可以包含未綁定變量,在模式匹配成功後綁定。

映射組可以通過io:format 裡的~p選項輸出,並用io:read 或file:consult讀取。

Maps:to_json(Map)->Bin 轉化為二進制型json

Maps:from_json(bin)-> Nap, 將二進制json轉化為map

Json與映射組的對應關系:

1) Json數字:Erlang的整數或浮點數

2) Json字符串:Erlang二進制型

3) Json列表:Erlang列表

4) true和false 對應

5) 映射組中的健必須是原子,字符串或二進制型,值必須用JSON的數據類型表示

在CentOS上編譯安裝Erlang R15B http://www.linuxidc.com/Linux/2012-03/57663.htm

Ubuntu 11.10 搭建Erlang環境 http://www.linuxidc.com/Linux/2012-04/58208.htm

在 CentOS 5.7 上通過 YUM 安裝 Erlang 過程 http://www.linuxidc.com/Linux/2012-12/75622.htm

Erlang---啟動參數學習/研究 http://www.linuxidc.com/Linux/2011-07/39157.htm

CentOS 5.5 下源代碼編譯安裝 Erlang http://www.linuxidc.com/Linux/2011-07/39156.htm

Ubuntu 10.10下源碼安裝Erlang 5.8.3版本 http://www.linuxidc.com/Linux/2011-04/34863.htm

在 CentOS 6.4上安裝Erlang http://www.linuxidc.com/Linux/2013-06/85964.htm

Ubuntu 下 Erlang R16B 的安裝 http://www.linuxidc.com/Linux/2013-05/84235.htm

Erlang 的詳細介紹:請點這裡
Erlang 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved