要映射到Erlang的元组列表

要映射到Erlang的元组列表,erlang,Erlang,我有一个这样的元组列表:[{key,val},{key2,val2}…]我希望能够将其转换为映射: {key=>val,key2=>val2……}您可以从以下位置使用from_list功能: 如果Hendri的解决方案对您来说太简单,那么您可以这样做: -module(my). -compile(export_all). create_map(List_Of_Key_Val_Tuples) -> create_map(List_Of_Key_Val_Tuples, #{}).

我有一个这样的元组列表:
[{key,val},{key2,val2}…]
我希望能够将其转换为映射:


{key=>val,key2=>val2……}
您可以从以下位置使用
from_list
功能:


如果Hendri的解决方案对您来说太简单,那么您可以这样做:

-module(my).
-compile(export_all).

create_map(List_Of_Key_Val_Tuples) ->
    create_map(List_Of_Key_Val_Tuples, #{}).

create_map([], Acc) ->
    Acc;
create_map([{Key, Val} | Tail], Acc) ->
    create_map(Tail, Acc#{Key => Val}).
在外壳中:

11> c(my).                                                                
my.erl:2: Warning: export_all flag enabled - all functions will be exported
{ok,my}

12> my:create_map([{a, 10}, {"hello", hi}, {fun(X) -> X+2 end, add_two}]).
#{a => 10,#Fun<erl_eval.6.99386804> => add_two,"hello" => hi}
11>c(我的)。
my.erl:2:警告:已启用导出\u所有标志-将导出所有功能
{好的,我的}
12> my:create_-map([{a,10},{“hello”,hi},{fun(X)->X+2-end,add_-two}])。
#{a=>10,#Fun=>加上两个,“你好”=>hi}
11> c(my).                                                                
my.erl:2: Warning: export_all flag enabled - all functions will be exported
{ok,my}

12> my:create_map([{a, 10}, {"hello", hi}, {fun(X) -> X+2 end, add_two}]).
#{a => 10,#Fun<erl_eval.6.99386804> => add_two,"hello" => hi}