Erlang中文手册(Erldoc.com)  »  proplists  »  substitute_aliases/2
Erlang并发编程 Erlang/OTP设计原理 Erlang/OTP[pdf] Mnesia用户手册[pdf] Erlang完整手册[en] 官网手册[en] 模块列表 方法列表 随机 Erlang中文社区(BBS) 美女图库

proplists:substitute_aliases/2

替换列表里的键

用法:

substitute_aliases(Aliases, ListIn) -> ListOut

内部实现:

-spec substitute_aliases(Aliases, ListIn) -> ListOut when
      Aliases :: [{Key, Key}],
      Key :: term(),
      ListIn :: [term()],
      ListOut :: [term()].

substitute_aliases(As, Props) ->
    [substitute_aliases_1(As, P) || P <- Props].

substitute_aliases_1([{Key, Key1} | As], P) ->
    if is_atom(P), P =:= Key ->
	    property(Key1, true);
       tuple_size(P) >= 1, element(1, P) =:= Key ->
	    property(setelement(1, P, Key1));
       true ->
	    substitute_aliases_1(As, P)
    end;
substitute_aliases_1([], P) ->
    P.

替换列表里的键。列表里的每一个条目,如果参数 Aliases 是由 {K1, K2} 这种相关联的形式组成的列表,,那么跟键是 K1 的相关条目的键都会改为 K2。如果同样的 K1 不止一次出现在参数 Aliases,那么只有只有第一个会被使用。

proplists:substitute_aliases([{k1, a1}], [{k1, 1}, {k2, 2}, {k1, 3}, {k4, 4}, {k5, 5}]).
proplists:substitute_aliases([{k1, a1}, {k4, a4}], [{k1, 1}, {k2, 2}, {k1, 3}, {k4, 4}, {k5, 5}]).
阿里云 - 最高1000元通用代金券立即可用
沪ICP备13037221号-9