elixir - 16 comprehension
访问量: 1326
参考: 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}