aka*_*nuk 7 erlang tuples list
我是Erlang的新手,也许我只是在教程中错过了这个问题,尽管它很简单.比方说,我有一个从erlang获得的{Key,Value}对的列表:fun_info/1.我想知道函数arity,列表的其余部分对我没兴趣.所以我写了类似的东西:
find_value( _, [] ) ->
nothing;
find_value( Key, [{Key, Value} | _] ) ->
Value;
find_value( Key, [_ | T] ) ->
find_value( Key, T).
Run Code Online (Sandbox Code Playgroud)
然后做:
find_value( arity, erlang:fun_info( F )).
Run Code Online (Sandbox Code Playgroud)
我的工作正常,但像find_value这样的东西应该是一个太常见的例程吗?我没能在BIF中找到它的类似物.所以问题是:从{key,value}元组列表中获取密钥的值有一个很好的方法吗?
Emi*_*röm 10
lists:keyfind/3做这个.在这里,我已将其映射到您的find_value/2界面:
find_value(Key, List) ->
case lists:keyfind(Key, 1, List) of
{Key, Result} -> Result;
false -> nothing
end.
Run Code Online (Sandbox Code Playgroud)
但是,支持者可能是一条更好的路线.