最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Erlang中的基本元素操作小結(jié)

 更新時(shí)間:2015年03月09日 09:25:01   投稿:junjie  
這篇文章主要介紹了Erlang中的基本元素操作小結(jié),本文講解了元組(tuple)、記錄(record)、列表(list)、映射組(map)等內(nèi)容,需要的朋友可以參考下

Erlang shell中,用句號(hào)加空格、tab或回車來(lái)結(jié)束表達(dá)式,%表示注釋的起點(diǎn),;隔離子句。模塊是.erl 文件,庫(kù)的頭文件.hrl, shell中的編譯時(shí)c(),外編譯命令時(shí)erlc, 退出shell用q(),或erlang:halt().

變量以大寫(xiě)字母開(kāi)頭,且不能重新綁定變量,只能一次性賦值,具有不可變狀態(tài)。原子是全局的,不需要宏定義或包含文件,以小寫(xiě)字母開(kāi)頭,還可放在單引號(hào)內(nèi),是極簡(jiǎn)表達(dá)式。
 
元組(tuple)是一些數(shù)量固定的項(xiàng)目歸組成單一實(shí)體{,}, 由于是匿名的,通常在第一個(gè)元素上貼標(biāo)簽,來(lái)增加可讀性。提取元組中的值使用模式匹配操作符=,_為匿名變量,多個(gè)_不必綁定相同的值。但是,_Mode則是常規(guī)變量。例如:

復(fù)制代碼 代碼如下:

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

記錄(record)是元組的另一種形式,可以給元組的各個(gè)元素關(guān)聯(lián)一個(gè)名稱。使用記錄的情形:
1)  用一些預(yù)先確定且數(shù)量固定的原子表示數(shù)據(jù)
2)  元素?cái)?shù)量和元素名稱不會(huì)隨時(shí)間改變
3)  大元組中每個(gè)元組有相同的結(jié)構(gòu)
采用#myrecord{k1=v1,k2=v2..}來(lái)創(chuàng)建record。

列表(list)形如[,,]可以存放任意數(shù)量的事物。Head可以是任何事物,Tail通常仍然是個(gè)列表。只要用[…|T]構(gòu)建一個(gè)列表,就應(yīng)確保T是一個(gè)列表。同樣使用模式匹配來(lái)提取列表中的元素。列表推導(dǎo)的常規(guī)形式:
[X||Qualifier1,Qualifier2,…]
X是任意一表達(dá)式,限定符qualifier可以生成器,位串生成器或過(guò)濾器。生成器的寫(xiě)法
Pattern<- ListExpr
反轉(zhuǎn)一個(gè)列表時(shí),要調(diào)用lists:reverse.
 
Erlang中沒(méi)有字符串,字符串是個(gè)整數(shù)列表,”HelloCloud”是一個(gè)列表的簡(jiǎn)寫(xiě),io:format來(lái)指定打印輸出。
 
映射組(map)是鍵值對(duì)的關(guān)聯(lián)性集合,內(nèi)部作為有序計(jì)劃存儲(chǔ),適用情形:
1)  鍵不能預(yù)知時(shí)來(lái)表示鍵值對(duì)數(shù)據(jù)結(jié)構(gòu)
2)  存在大量不同鍵來(lái)表示數(shù)據(jù)
3)  效率不重要時(shí)的萬(wàn)能數(shù)據(jù)結(jié)構(gòu)
4)  自解釋型數(shù)據(jù)結(jié)構(gòu)
5)  用來(lái)表示鍵值解析樹(shù),如xml或配置文件
6)  用Json來(lái)通信

映射組的語(yǔ)法:

復(fù)制代碼 代碼如下:

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

#后沒(méi)有名稱,op是=>或:=之一。 => 將現(xiàn)有鍵值更新為新值或給映射組增加一個(gè)新鍵值對(duì)。 :=用于更新。 健不能包含任何變量,值可以包含未綁定變量,在模式匹配成功后綁定。

映射組可以通過(guò)io:format 里的~p選項(xiàng)輸出,并用io:read 或file:consult讀取。

復(fù)制代碼 代碼如下:

Maps:to_json(Map)->Bin 轉(zhuǎn)化為二進(jìn)制型json
Maps:from_json(bin)-> Nap, 將二進(jìn)制json轉(zhuǎn)化為map

Json與映射組的對(duì)應(yīng)關(guān)系:

1)  Json數(shù)字:Erlang的整數(shù)或浮點(diǎn)數(shù)
2)  Json字符串:Erlang二進(jìn)制型
3)  Json列表:Erlang列表
4)  true和false 對(duì)應(yīng)
5)  映射組中的健必須是原子,字符串或二進(jìn)制型,值必須用JSON的數(shù)據(jù)類型表示

相關(guān)文章

最新評(píng)論

阳泉市| 松桃| 肃宁县| 海兴县| 额尔古纳市| 四子王旗| 乌拉特后旗| 乌鲁木齐市| 浠水县| 宁武县| 麻城市| 师宗县| 翁牛特旗| 汉川市| 镇巴县| 乌拉特中旗| 阳春市| 雷波县| 正安县| 特克斯县| 即墨市| 诸城市| 胶州市| 北流市| 桑植县| 永新县| 杭州市| 莱阳市| 双鸭山市| 镇江市| 乐平市| 额尔古纳市| 阜阳市| 饶河县| 怀宁县| 朔州市| 林西县| 阜康市| 志丹县| 西乡县| 南城县|