Wouldn’t Enum.find_value/3 be more appropriate here? Something along the lines:
Enum.find_value(inventory, fn
%{id: id, name: "Moon Cake"} -> {:eat, id}
%{id: id, name: "Space Cake", count: count} when count > 10 -> {:eat, id}
_ -> nil
end)
Wouldn’t Enum.find_value/3 be more appropriate here? Something along the lines:
Enum.find_value(inventory, fn
%{id: id, name: "Moon Cake"} -> {:eat, id}
%{id: id, name: "Space Cake", count: count} when count > 10 -> {:eat, id}
_ -> nil
end)