99re热视频这里只精品,久久久天堂国产精品女人,国产av一区二区三区,久久久精品成人免费看片,99久久精品免费看国产一区二区三区

Elixir 積極與懶惰

2023-12-15 13:50 更新

?Enum?模塊中的所有函數都是積極的。許多函數接受了一個枚舉體并返回了一個列表:

iex> odd? = &(rem(&1, 2) != 0)
#Function<6.80484245/1 in :erl_eval.expr/5>
iex> Enum.filter(1..3, odd?)
[1, 3]

這意味著當使用?Enum?進行多次操作時,每個操作都在生成一個中間列表,直到獲得最終結果:

iex> 1..100_000 |> Enum.map(&(&1 * 3)) |> Enum.filter(odd?) |> Enum.sum
7500000000

上述例子用到了管道操作符。我們以一個范圍開始,讓后將范圍中的每個數乘以3.第一個操作將會創(chuàng)造并返回一個?100_000?個元素的列表。之后我們留下了列表中的所有奇數,并生成了一個有?50_000?個元素的新列表,然后我們將其全部相加。


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號