在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ 區(qū)塊鏈/ 記錄
注冊(cè)進(jìn)程名稱
錯(cuò)誤處理
完整示例
分布式編程
消息傳遞
if 與 case
健壯性
映射 (Map)
高階函數(shù) (Fun)
輸出至終端
更多關(guān)于列表的內(nèi)容
內(nèi)置函數(shù) (BIF)
模塊與函數(shù)
將大程序分在多個(gè)文件中
匹配、Guards 與變量的作用域
超時(shí)
列表
完整示例
頭文件
標(biāo)準(zhǔn)模塊與使用手冊(cè)
進(jìn)程
記錄
增加健壯性后的完整示例
Erlang Shell
原子類型

記錄

記錄的定義如下:

-record(name_of_record,{field_name1, field_name2, field_name3, ......}).

例如,

-record(message_to,{to_name, message}).

這等價(jià)于:

{message_to, To_Name, Message}

用一個(gè)例子來說明怎樣創(chuàng)建一個(gè)記錄:

#message_to{message="hello", to_name=fred)

上面的代碼創(chuàng)建了如下的記錄:

{message_to, fred, "hello"}

注意,使用這種方式創(chuàng)建記錄時(shí),你不需要考慮給每個(gè)部分賦值時(shí)的順序問題。這樣做的另外一個(gè)優(yōu)勢(shì)在于你可以把接口一并定義在頭文件中,這樣修改接口會(huì)變得非常容易。例如,如果你想在記錄中添加一個(gè)新的域,你只需要在使用該新域的地方進(jìn)行修改就可以了,而不需要在每個(gè)使用記錄的地方都進(jìn)行修改。如果你在創(chuàng)建記錄時(shí)漏掉了其中的某些域,則這些域會(huì)得到一個(gè)默認(rèn)的原子值 undefined。

使用記錄進(jìn)行模式匹配與創(chuàng)建記錄是一樣。例如,在 receive 的 case 中:

#message_to{to_name=ToName, message=Message} ->

這與下面的代碼是一樣的:

{message_to, ToName, Message}
下一篇:Erlang Shell