是否可以创建未排序的MapSet?
它如何运作:
$config['base_url'] = 'http://localhost/projekt/';
预期如何:
session.set_cookie(
u'a=b; expires=Thu, 15-Mar-2018 18:37:51 GMT; '
'domain=.whatever.com; path=/')
答案 0 :(得分:3)
MapSet
根本没有排序。您可能会看到值显示为小地图排序,但这是Erlang如何处理小地图的实现细节,MapSet
在内部使用地图。
如果您想要获取返回的唯一元素列表,可以改为使用Enum.reduce
+ MapSet
,如下所示:
defmodule A do
def sorted_uniq(list) do
Enum.reduce(list, {[], MapSet.new}, fn x, {list, map_set} ->
if MapSet.member?(map_set, x) do
{list, map_set}
else
{[x | list], MapSet.put(map_set, x)}
end
end)
|> elem(0)
|> Enum.reverse
end
end
IO.inspect A.sorted_uniq([2, 3, 2, 1])
输出:
[2, 3, 1]