假如現在要從這個 list 取出偶數再套上一個函式
[1, 2, 3, 4, 5, 6, 7]
|> Enum.filter(fn x -> rem(x, 2) == 0 end)
|> Enum.map(fn x -> x * 2 end)
通常會使用 Enum 模組的filter, map 等函式
也可以使用 for 來完成
for x <- [1, 2, 3, 4, 5, 6, 7], rem(x, 2) == 0 do
  x * 2
end
這個 for 會把 [1, 2, 3, 4, 5, 6, 7] 使用 <- 一個一個的 pattern matching 到左邊
接著再濾過符合 rem(x, 2) == 0 的項目,
再放入 do end 執行
上面的會得到
[4, 8, 12]
更方便的是可以同時使用兩個以上的變數
for x <- [1, 2, 3, 4, 5],
    y <- [3, 4, 5, 8, 9],
    x == y do
  x
end
這樣可以列出兩個 list 都有的 [3, 4, 5]
或是取得這兩個 list 的所有組合
把每個組合相乘變成 z
再濾出偶數
for x <- [1, 2, 3, 4, 5],
    y <- [3, 4, 5, 8, 9],
    z = x * y,
    rem(z, 2) == 0 do
  z
end