Functional programming 如何从Erlang中的对列表中获取元素
我试图创建一个递归返回成对列表中元素的函数。它有两个参数,一个对列表(关联列表)和一个值,如果值与列表中对的第一个元素匹配,那么它应该返回对的第二个元素。否则,如果值不匹配,则返回错误。例如,searchpair([{K,V}],K)。应该返回V 这是我试过的。不知道如何添加元组并在元组上递归Functional programming 如何从Erlang中的对列表中获取元素,functional-programming,erlang,Functional Programming,Erlang,我试图创建一个递归返回成对列表中元素的函数。它有两个参数,一个对列表(关联列表)和一个值,如果值与列表中对的第一个元素匹配,那么它应该返回对的第二个元素。否则,如果值不匹配,则返回错误。例如,searchpair([{K,V}],K)。应该返回V 这是我试过的。不知道如何添加元组并在元组上递归 searchpair([], _) -> error; searchpair([[K, V] | Rest], Search) when V = Search -> K; s
searchpair([], _) -> error;
searchpair([[K, V] | Rest], Search) when V = Search -> K;
searchpair([_ | Rest], Search) -> seachPair(Rest, Search).
您不需要
当
时,可以直接绑定K
:
searchpair([], _) ->
error;
searchpair([{K,V} | _Rest], K) ->
V;
searchpair([_T | Rest], Search) ->
searchpair(Rest, Search).
此外,元组不是列表。此外,函数名区分大小写