【发布时间】:2015-07-07 03:42:58
【问题描述】:
根据Elixir Tutorial on Enumerables and Streams:
|> 符号是管道运算符:它只是从左侧的表达式中获取输出,并将其作为输入传递给右侧的函数调用。
Enum 模块中的所有函数都是 Eager。
那么下面的语句有什么区别呢?为什么最后一个返回不同的结果?
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]
【问题讨论】:
标签: elixir