地图
Erlang 中的映射相当于 Perl 中的哈希值或 Python 中的字典 ,它是一个键/值存储。要列出存储的每个值,你可以列出每个键,并返回键/值对。第一个循环给你一个想法:
loop(Map) when is_map(Map) ->
Keys = maps:keys(Map),
loop(Map, Keys).
loop(_ , []) ->
ok;
loop(Map, [Head|Tail]) ->
Value = maps:get(Head, Map),
io:format("~p: ~p~n", [Head, Value]),
loop(Map, Tail).
你可以这样执行:
Map = #{1 => "one", 2 => "two", 3 => "three"}.
loop(Map).
% will return:
% 1: "one"
% 2: "two"
% 3: "three"