elixir - 16 comprehension
访问量: 1357
参考: https://elixir-lang.org/getting-started/comprehensions.html
for n <- [1,2,3], do: n * n + 1 #
[2, 5, 10]
上面的 n <- [1,2,3] 就是 generator
可以同时使用多个 generator
iex(5)> for i <- [:a, :b, :c], j <- [3, 5], do: {i,j}
[a: 3, a: 5, b: 3, b: 5, c: 3, c: 5]
可以使用 into 来处理Map
# 没使用into , 可以看到返回的是个数组
iex(7)> for {key, value} <- %{"a" => 1, "b" => 2}, do: {key, value * value}
[{"a", 1}, {"b", 4}]
# 使用into , 可以看到返回的是个Map
iex(6)> for {key, value} <- %{"a" => 1, "b" => 2}, into: %{}, do: {key, value * value}
%{"a" => 1, "b" => 4}