6
根據Elixir Tutorial on Enumerables and Streams:管道操作者行爲
的|>符號是管道操作符:它簡單地需要在其左側從表達式的輸出,並將其作爲輸入到其右邊的函數調用側。
Enum模塊中的所有功能都很渴望。
那麼以下陳述有什麼不同?爲什麼最後一個返回不同的結果?
iex(1)> 1..1_000 |> Enum.reverse |> Enum.take 5
[1000, 999, 998, 997, 996]
iex(2)> (Enum.reverse 1..1_000) |> Enum.take 5
[1000, 999, 998, 997, 996]
iex(3)> Enum.reverse 1..1_0000 |> Enum.take 5
[5, 4, 3, 2, 1]
是的,我忘了運營商的優先順序http://elixir-lang.org/docs/stable/elixir/Kernel.html#|%3E/2 – lad2025