当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。