标签:none 匹配 %% k2 轻量级 erlang match kv
%% ----------------------------------------------------
%% @doc
%% 不适用于lists:keyfind/3的情况下,一个轻量级的结果匹配
%% 匹配k返回v 无则返回none
%% match_kv(3,[1,2,3,4,5]) -> 4
%% 1,2,3,4,5 分别是k1=1,v1=2,k2=3,v2=4,不符合则返回默认值5
%% 3 匹配上了k2 所以返回v2
%%
%% match_kv(6,[1,2,3,4,5]) -> 5
%% 6 没匹配上k1 k2 所以返回默认值5
%%
%% match_kv(6,[1,2,3,4]) -> none
%% 6 没匹配上k1 k2 也没提供默认值,返回none
%%
%% @end
%% ----------------------------------------------------
match_kv(K, [K, V | _T]) ->
V;
match_kv(K, [_K1, _V | T]) ->
match_kv(K, T);
match_kv(_K, [V | []]) ->
V;
match_kv(_K, []) ->
none.
效率不高,不建议频繁使用,写这个纯粹是因为懒的写case套娃,线上高频操作该用case还是别吝啬你的小手
标签:none,匹配,%%,k2,轻量级,erlang,match,kv 来源: https://blog.csdn.net/ap114/article/details/115205719
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。