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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。