當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Elixir Enum.all?用法及代碼示例


Elixir語言中 Enum.all? 相關用法介紹如下。

用法一

all?(enumerable)
@spec all?(t()) :: boolean()

如果 enumerable 中的所有元素都是真實的,則返回 true

當元素具有虛假值(falsenil)時,迭代立即停止並返回 false。在所有其他情況下,返回 true

例子

iex> Enum.all?([1, 2, 3])
true

iex> Enum.all?([1, nil, 3])
false

iex> Enum.all?([])
true

用法二

all?(enumerable, fun)
@spec all?(t(), (element() -> as_boolean(term()))) :: boolean()

如果 fun.(element) 對於 enumerable 中的所有元素都是真值,則返回 true

迭代 enumerable 並在每個元素上調用 fun。如果 fun 曾經返回虛假值( falsenil ),則迭代立即停止並返回 false。否則,返回true

例子

iex> Enum.all?([2, 4, 6], fn x -> rem(x, 2) == 0 end)
true

iex> Enum.all?([2, 3, 4], fn x -> rem(x, 2) == 0 end)
false

iex> Enum.all?([], fn _ -> nil end)
true

如最後一個示例所示,如果 enumerable 為空,則 Enum.all?/2 返回 true,而不管 fun 。在空的可枚舉中,沒有 fun 為其返回虛假值的元素,因此結果必須是 true 。對於空集合,這是一個定義明確的邏輯參數。

相關用法


注:本文由純淨天空篩選整理自elixir-lang.org大神的英文原創作品 Enum.all?(enumerable)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。