expand(Expansions, ListIn) -> ListOut
類型:
Expansions = [{Property :: property(), Expansion :: [term()]}]
ListIn = ListOut = [term()]
將特定屬性擴展到相應的屬性集(或其他術語)。對於 Expansions
中的每對 {Property,
Expansion}
:如果 E
是 ListIn
中與 Property
具有相同鍵的第一個條目,並且 E
和 Property
具有等效的範式,則 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 expand(Bef0)用法及代碼示例
- erlang exp用法及代碼示例
- erlang extension(Filename)用法及代碼示例
- erlang exit(Reason)用法及代碼示例
- erlang external_size(Term)用法及代碼示例
- erlang external_size(Term, Options)用法及代碼示例
- erlang extension(BinRel1, Set, AnySet)用法及代碼示例
- erlang equal用法及代碼示例
- erlang element用法及代碼示例
- erlang element(N, Tuple)用法及代碼示例
- erlang erase()用法及代碼示例
- erlang erase(Key)用法及代碼示例
- erlang error(Reason)用法及代碼示例
- erlang error(Reason, Args)用法及代碼示例
- erlang erase(Key, Orddict1)用法及代碼示例
- erlang erf(X)用法及代碼示例
- erlang encode_unsigned(Unsigned, Endianness)用法及代碼示例
- erlang encode_hex(Bin)用法及代碼示例
- erlang error_msg(Format)用法及代碼示例
- erlang error_report(Report)用法及代碼示例
- erlang equal(A, B)用法及代碼示例
- erlang enumerate(List1)用法及代碼示例
- erlang e(QH)用法及代碼示例
- erlang sin用法及代碼示例
- erlang cos用法及代碼示例
注:本文由純淨天空篩選整理自erlang.org大神的英文原創作品 expand(Expansions, ListIn) -> ListOut。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。