一連の値の組み合わせに対していくつかの分析を実行したいと思います。理解のスコープの問題
私は、以下の機能を持っていますが、何らかの理由で、内包が完了した後、それは各反復
の理解の内側ではありませんしながら、関数本体の終わりに、変数analytics
は、まだ空のリストです
アイデア?
def handle_cast({:start}, state) do
intervals = [7, 30, 90]
groupings = ["day_of_week", "time_of_day"]
aggregators = [
%{
domain: "support",
metric: "new_conversations",
func: &App.get_new_conversations/2
},
%{
domain: "support",
metric: "closed_conversations",
func: &App.get_closed_conversations/2
},
%{
domain: "support",
metric: "median_response_time",
func: &App.get_median_response_time/2
},
]
Repo.transaction(fn ->
Repo.delete_all(Analytic)
analytics = []
for interval <- intervals do
for grouping <- groupings do
for %{domain: domain, metric: metric, func: func} <- aggregators do
analytic =
func.(grouping, interval)
|> Enum.map(fn %{"app_id" => app_id, "data" => data} = result ->
%Analytic{app_id: app_id, domain: domain, metric: metric, grouping: grouping, interval_in_days: interval, data: data}
end)
analytics = [analytic|analytics]
end
end
end
end)
{:noreply, state}
end
パーフェクト、ありがとうございました! – Tarlen