欧美另类日韩中文色综合,天堂va亚洲va欧美va国产,www.av在线播放,大香视频伊人精品75,奇米777888,欧美日本道免费二区三区,中文字幕亚洲综久久2021

Erlang中的基本元素操作小結(jié) -電腦資料

電腦資料 時間:2019-01-01 我要投稿
【www.lotusphilosophies.com - 電腦資料】

    這篇文章主要介紹了Erlang中的基本元素操作小結(jié),本文講解了元組(tuple)、記錄(record)、列表(list)、映射組(map)等內(nèi)容,需要的朋友可以參考下

    Erlang shell中,用句號加空格、tab或回車來結(jié)束表達式,%表示注釋的起點,;隔離子句,

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

。模塊是.erl 文件,庫的頭文件.hrl, shell中的編譯時c(),外編譯命令時erlc, 退出shell用q(),或erlang:halt().

    變量以大寫字母開頭,且不能重新綁定變量,只能一次性賦值,具有不可變狀態(tài)。原子是全局的,不需要宏定義或包含文件,以小寫字母開頭,還可放在單引號內(nèi),是極簡表達式。

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

    代碼如下:

    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)是元組的另一種形式,可以給元組的各個元素關(guān)聯(lián)一個名稱。使用記錄的情形:

    1) 用一些預(yù)先確定且數(shù)量固定的原子表示數(shù)據(jù)

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

    3) 大元組中每個元組有相同的結(jié)構(gòu)

    采用#myrecord{k1=v1,k2=v2..}來創(chuàng)建record。

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

    [X||Qualifier1,Qualifier2,…]

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

電腦資料

Erlang中的基本元素操作小結(jié)》(http://www.lotusphilosophies.com)。生成器的寫法

    Pattern<- ListExpr

    反轉(zhuǎn)一個列表時,要調(diào)用lists:reverse.

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

    映射組(map)是鍵值對的關(guān)聯(lián)性集合,內(nèi)部作為有序計劃存儲,適用情形:

    1) 鍵不能預(yù)知時來表示鍵值對數(shù)據(jù)結(jié)構(gòu)

    2) 存在大量不同鍵來表示數(shù)據(jù)

    3) 效率不重要時的萬能數(shù)據(jù)結(jié)構(gòu)

    4) 自解釋型數(shù)據(jù)結(jié)構(gòu)

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

    6) 用Json來通信

    映射組的語法:

    代碼如下:

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

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

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

    代碼如下:

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

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

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

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

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

    3) Json列表:Erlang列表

    4) true和false 對應(yīng)

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

最新文章