iex> MapSet.new(1..32) |> Enum.to_list
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
23, 24, 25, 26, 27, 28, 29, 30, 31, 32]
iex> MapSet.new(1..33) |> Enum.to_list
[11, 26, 15, 20, 17, 25, 13, 8, 7, 1, 32, 3, 6, 2, 33, 10, 9, 19, 14, 5, 18, 31,
22, 29, 21, 27, 24, 30, 23, 28, 16, 4, 12]
यहाँ अमृत 1,332 तत्वों के बाद एलिक्सीर का मैपसेट अनियंत्रित क्यों हो जाता है?
def new(enumerable) do
map =
enumerable
|> Enum.to_list
|> do_new([])
%MapSet{map: map}
end
defp do_new([], acc) do
acc
|> :lists.reverse
|> :maps.from_list
end
defp do_new([item | rest], acc) do
do_new(rest, [{item, true} | acc])
end
हालांकि आदेश में एक MapSet
में कोई फर्क नहीं पड़ता में implementation है, लेकिन अभी भी सोच क्यों एक MapSet
32 तत्वों के बाद अव्यवस्थित हो जाता है?
स्पष्टीकरण के लिए धन्यवाद! – sbs