當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


erlang expand(Expansions, ListIn)用法及代碼示例


expand(Expansions, ListIn) -> ListOut
類型:
Expansions = [{Property :: property(), Expansion :: [term()]}]
ListIn = ListOut = [term()]

將特定屬性擴展到相應的屬性集(或其他術語)。對於 Expansions 中的每對 {Property, Expansion} :如果 EListIn 中與 Property 具有相同鍵的第一個條目,並且 EProperty 具有等效的範式,則 E 是替換為 Expansion 中的術語,並且任何具有相同鍵的後續條目都將從 ListIn 中刪除。

例如,以下表達式都返回 [fie, bar, baz, fum]

expand([{foo, [bar, baz]}], [fie, foo, fum])
expand([{{foo, true}, [bar, baz]}], [fie, foo, fum])
expand([{{foo, false}, [bar, baz]}], [fie, {foo, false}, fum])

但是,在以下調用中不會進行擴展,因為 {foo, false} 隱藏了 foo

expand([{{foo, true}, [bar, baz]}], [{foo, false}, fie, foo, fum])

請注意,如果擴展時要在結果中保留原始屬性項,則它必須包含在擴展列表中。插入的項不會遞歸擴展。如果 Expansions 包含多個具有相同鍵的屬性,則僅使用第一個出現的屬性。

也可以看看normalize/2.

相關用法


注:本文由純淨天空篩選整理自erlang.org大神的英文原創作品 expand(Expansions, ListIn) -> ListOut。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。