Erlang「記錄」的用法及注意事項

2021-06-08 09:18:01 字數 1437 閱讀 6185

記錄

record

提供了一種方法吧乙個名稱與元組中的乙個元素對應起來,從而便於區分元組中的各個元素的含義。定義方法:

-record(name, 

其中key3

與 key4=undefined

是等效寫法;

name:記錄的名字;

key1, key2, key3, key4 這些是記錄中的欄位名,且必須是元子;

注意:record

不是乙個

shell

命令,不能在

shell

中使用,只能用於

erlang

原始碼中;在

shell

中應該使用

rr命令讀取

hrl記錄定義檔案

儲存為 .hrl

副檔名的檔案,以保證不同的

erlang

模組使用相同的記錄定義

儲存為records.hrl

%%記錄 定義

-record(

todo,

). shell中執行:

1> rr(「records.hrl」).

[todo]

2> x1 = #todo{}.

#todo

3> x2 = #todo.

#todo

4> x3 = x2#todo.

#todo

5> x3#todo.text.

「copy of x2″

6> x2#todo.text.

「erlang」

說明一下:

1> 載入記錄定義

2> 例項化乙個

todo

型別的記錄,所有字段值都按照記錄的預設值

3> 例項化乙個

todo

型別的記錄,並指定

who和

text

欄位的值

4> copy變數

x2並修改

text

欄位的值為

「copy of x2

「,賦值給x3

5> 通過記錄,獲取x3的

text

欄位的值

6> 通過記錄,獲取x2的

text

欄位的值

特別注意的是,x3和x2

是copy

與被copy

的關係,當

x3的字段值發生改變後,

x2的字段沒有變化!

另外一種從記錄中提取字段值的方法依舊是模式匹配:

7> #todo=x2.

#todo

8> y. 12

9> z.

zhys9

10> t.

「erlang」

java中static關鍵詞用法及注意事項

1.static 修飾的靜態屬性,靜態塊。static修飾的屬性為全域性變數,即該屬性不屬於某個物件,可通過類名或物件名呼叫該屬性。在類被載入時static修飾的屬性會優先於普通屬性載入,且只載入一次。class book public class person public person stri...

PHP中try catch 的用法以及注意事項

用法 可能出問題的 方法哦try中,一出現異常就會跳到catch中,不影響後面的 執行!try catch exception e php丟擲異常exception和 exception使用區別 沒有定義命名空間的情況下 exception和 exception 均可正常執行丟擲異常 定義命名空間的...

NXP AUTOSAR OS安裝指導及注意事項

已經移植好的晶元及license情況如下 雙擊exe安裝檔案預設安裝即可,部分視窗請參照下列視窗 圖1.瀏覽license 圖2.設定編譯器路徑 上圖中前面4個是設定編譯器路徑,支援目前主流的幾種編譯器,ghs iar gcc。這幾個可以只需設定已安裝的編譯器路徑,沒有的可忽略 這幾個編譯器的路徑會...