《Elixir》中的地图包围数据



我在我的Elixir应用程序中使用此方法获得图像计数:

Enum.each(0..23, fn(per_hour) ->
  count = hour(camera_exid, date_unix, per_hour)
end)

我想将per_hourcount映射到Map中,然后我可以将其传递给视图。格式为:

[%{hour: per_hour, count: count}, %{hour: per_hour, count: count}, ...]

Enum.each只是对列表中的每个项目应用一个函数,它不返回任何东西。您应该使用 Enum.map/2 :

list = Enum.map 0..23, fn per_hour ->
  %{
      hour:  per_hour,
      count: hour(camera_exid, date_unix, per_hour)
   }
end

假设您的方法/变量camera_exiddate_unix在作用域中可用,您的最终输出格式为:

[%{hour: per_hour, count: count}, %{hour: per_hour, count: count}, ...]

最新更新