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

proplists:get_all_values/2

获取指定键的所有值

用法:

get_all_values(Key, List) -> [term()]

内部实现:

-spec get_all_values(Key, List) -> [term()] when
      Key :: term(),
      List :: [term()].

get_all_values(Key, [P | Ps]) ->
    if is_atom(P), P =:= Key ->
	    [true | get_all_values(Key, Ps)];
       tuple_size(P) >= 1, element(1, P) =:= Key ->
	    case P of
		{_, Value} ->
		    [Value | get_all_values(Key, Ps)];
		_ ->
		    get_all_values(Key, Ps)
	    end;
       true ->
	    get_all_values(Key, Ps)
    end;
get_all_values(_Key, []) ->
    [].

类似 proplists:get_value/2,但是它返回列表 List 里所有格式为 {Key, Value} 的条目的值的列表。如果不存在这种条目,则返回空列表。

List = [{a, 1}, {b, 2}, {b, 3}, {c, 4}, {b, 5}, {d, 6}],
proplists:get_all_values(b, List).
阿里云 - 最高1000元通用代金券立即可用
沪ICP备13037221号-9