Erlang keyfind多个值函数

来源:互联网 发布:男朋友短细的体验知乎 编辑:程序博客网 时间:2024/06/03 21:27
今天用到kinfind发现不能取出多个值很不方便,于是重写了一个叫keyfinds的函数,能够获得多个值%%keyfind多个值
keyfinds(List, Id, Id1) ->
    Yuansu = lists:keyfind(Id, Id1, List),
    Lists1 = lists:delete(Yuansu, List),
    if
        length(Lists1) =:= length(List)->
            [];
        true ->
            keyfinds(Lists1, Id, Id1, [Yuansu])
    end.
keyfinds(List, Id, Id1, JieGuoList) ->
    Yuansu = lists:keyfind(Id, Id1, List),
    Lists1 = lists:delete(Yuansu, List),
    if
        length(Lists1) =:= length(List)->
            JieGuoList;
        true ->
            keyfinds(Lists1, Id, Id1, [Yuansu | JieGuoList])
    end.
原创粉丝点击