【发布时间】:2015-10-19 01:13:09
【问题描述】:
我一直在研究我可以用Enum、Stream 和for 理解做些什么,我正在努力重现左外连接行为。我可以使用Enum.reduce 实现左外连接函数,但如果有某种方法可以使用for 来实现,我宁愿使用它。
我知道 python 支持它,我见过它here 和 here,我想 Elixir 的理解是受到 python 的启发。我们可以在 Elixir 中做到吗?
假设我有两个来自外部 API 或某个 json/xml 文件的列表:
categories = [%{id: 1, name: "beverages"}, %{id: 2, name: "vegetables"}]
products = [%{name: "ice tea", category: 1}, %{name: "sake", category: 1}]
我想离开外部加入他们以获得类似的东西:
cat_product == [
%{category: "beverages", product: "ice tea"},
%{category: "beverages", product: "sake"},
%{category: "vegetables", product: "(No product)"}
]
还有类似的:
cat_products == [
%{name: "beverages", products: [list of products]}
%{name: "vegetables", products: []}
]
【问题讨论】:
标签: elixir