Я пытался перебрать карту, которую я сделал:
getMinTreeHeight(TreeList,TreeMap) -> lists:foreach(fun(X) -> TreeMap#{X => getTreeHeight(X)} end, TreeList),
Iter = maps:iterator(TreeMap),
findMin(Iter,infinity,key).
findMin(Iterator,Min,Key) -> case maps:next(Iterator) of
none -> Key;
{K,V,I} -> if
V < Min -> findMin(I,V,K) ;
true -> findMin(I,Min,Key)
end
end.
это 2 функции, в верхней функции i go через каждое значение в списке и что-то сделать на нем, затем я вставляю пару в карту. наконец, я создаю итератор (который есть в документации erlang.org). во второй функции я просто перебираю карту, используя maps: next, с заданным итератором. когда я пытаюсь скомпилировать свой модуль, он сообщает мне, что итераторы / 1 и next / 1 не определены. кто-нибудь знает, правильно ли я их использую? или если они еще действующие функции? Я использую erlang / OTP20, если это актуально