【发布时间】:2017-06-16 03:48:42
【问题描述】:
我正在尝试在 Elixir 中开发一个简单的 POC,需要在地图中存储信息。问题是我无法弄清楚如何将地图显示为按值排序的列表。
defmodule MapUpdater do
def update_score(map, player, :double), do: Map.update(map, player, 2, &(&1 * 2))
def update_score(map, player, :halve), do: Map.update(map, player, .5, &(&1 * 0.5))
def update_score(map, player, :penalize), do: Map.update(map, player, -1, &(&1 - 1))
def view_scores(map, :top), do: Map.to_list(map) |> Enum.sort_by(???)
def view_scores(map, :bottom), do: Map.to_list(map) |> Enum.sort_by(???)
end
我试过了:
Enum.sort_by(&(elem(&1, 1)) > &(elem(&2, 1)))
以及任何数量的变体,但一遍又一遍地阅读文档对我没有帮助。有什么建议吗?
【问题讨论】: