erlang中引數或返回值到底使用 還是

2021-08-26 11:01:28 字數 626 閱讀 2117

寫erlang**時,引數或者返回值到底是用元組,還是[ ]列表,還是不能隨便用,總結了幾點:

[*]當資料需要進行 [b][h|t][/b] 處理的時候,使用[ ]列表,這是使用列表最重要的依據;其次就是這一些資料的型別是一致的。

[*]如果引數乙個[b]結構化[/b]的資料,則使用元組,這些資料共同表達了乙個資料結構,但是資料之間又沒有直接的聯絡,比如:

三個引數分別表示使用者的帳號、密碼、電子郵箱,一起表達了「使用者註冊」的資料結構,但資料之間沒有什麼聯絡(帳號和郵箱不是一類東西),在一起傳遞時可以使用。

那是否使用dict結構會更好?如:

[, ]

我覺得也不一定,雖然dict結構能方便的通過dict:from_list/1轉換為乙個dict使用,但是普通情況下直接使用值組成的元組會簡單些。

[*]至於mfa中的a(引數列表),是用[ ]括起來(貌似gen_server中只有乙個引數的情況下不括也能用,不過不推薦!)。這裡不管你的引數組合起來是否是有意義的資料結構,對於mfa來說,就是「一堆引數」,所以和第一條「型別是一致的」不衝突。

我能想到的就這些,歡迎補充,如有不妥請拍磚~

引數 返回值

1.函式 函式是對功能的封裝 語法 def 函式名 形參列表 函式體 塊,return 呼叫 函式名 實參列表 2.返回值 return 在函式執行的時候.如果遇到return.直接返回 1.如果函式什麼都不寫,不寫return,沒有返回值.得到的是none 2.在函式中間或者末尾寫return,返...

引數和返回值

基本資料型別 這裡所說的形式引數對基本資料型別不做研究 引用資料型別 引數是具體類時 建立引用資料型別 使用匿名類 new 類名 使用匿名內部類的方式 父類名或者父類介面 物件名 new 父類名或者父類介面 引數是抽象類時 可以使用抽象類多型 建立抽象類的子類 使用匿名內部類的方式 父類名或者父類介...

引數與返回值

1個 節返回,用al返回 2個位元組返回,用ax返回 4個位元組返回,用eax返回 8個位元組返回返回,用eax edx返回 1 本機尺寸 如果本機是32位的,那麼對32位的資料支援最好,如果是64位的,那麼對64位的支援最好.2 編譯器遵守了這個規則 char型別或者short型別的引數不但沒有節...