Erlang 記錄和對映組

2021-07-02 22:26:12 字數 720 閱讀 7785

對映組:是鍵—值對的關聯性集合。

記錄:是元組的另一種表示形式,它的儲存與效能特性和元組一樣。

記錄的語法形式:

-record(name,).

說明: name:為記錄的名稱,key1,key2為記錄的各個字段必須為原子。

記錄的定義可以儲存在erlang源**檔案裡,也可以由擴充套件名為.hrl的檔案儲存,然後包含在erlang源**的原始檔中。

注意: 檔案包含是唯一能確保多個erlang模組共享相同記錄的定義方式。

記錄操作語法:

-record(todo,).

建立乙個todo新記錄:#todo

x1#todo 建立乙個x1的副本,並修改欄位status的值為done,這樣做生成的是x1的乙個副本,原始物件沒有改變。

提取記錄中的值:#todo = x2.

如果只想獲取記錄中單個欄位的值可以使用"點語法"來提取該字段值:x2#todo.text.

對映組:對映組的語法與記錄的語法相似,不同之處在於,對映組省略了記錄名,並且鍵—值分隔符是 =>或:=。

查詢對映組中某個鍵的值是一種高效率的操作。

對映組有著明確的順序。

對映組編寫語法:

#.op:為=>或:=

注意:表示式 k => v 有兩種用途:一種是將k的值更新為v,另一種是給對映組新增乙個全新的k-v對,這個操作總是成功的。

表示式 k := v 的作用是將現有的值更新問新值v。

Erlang(6) 記錄和對映組

記錄record 是元組的另一種形式 record name,記錄比較像c 的結構和類。hrl有點想c 的.h檔案 test.hrl record todo,定義乙個叫做todo的記錄。指定了預設值。31 rr test.hrl todo 在shell裡面讀入記錄的定義。rr 是read recor...

erlang 順序程式設計 記錄與對映組03

記錄其實就是元組的另一種形式。儲存與效能特性和元組一樣。應用場景 建立 讀取 更新 建立 record todo,讀取shell裡,shell編譯 rr records.hrl 建立乙個副本 todo 建立乙個副本並修改元素 x1 todo.以x1為副本建立,並修改其中元素 x2 x1 todo.模...

Erlang下map(對映組)的問題

主要是遇到 map匹配的問題,所以順便回憶一下 erlang 中的對映組 map,在其它語言中被稱作 hash 雜湊或者 dict 字典。erlang 從 r17 版本開始支援對映組 建立對映組 erlang 中的對映組用結構 表示,建立乙個對映組可以這樣 不管你怎麼排序,最終結果都是按鍵的字典順序...