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


Elixir Enum.count_until用法及代碼示例


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

用法一

count_until(enumerable, limit)
(自 1.12.0 起)
@spec count_until(t(), pos_integer()) :: non_neg_integer()

計算在 limit 處的可枚舉停止。

這對於檢查可枚舉的計數的某些屬性很有用,而不必實際計算整個可枚舉。例如,如果您想檢查計數是否準確、至少或大於一個值。

如果 enumerable 實現了 Enumerable.count/1 ,則不會遍曆 enumerable 並且我們返回兩個數字中較小的一個。要強製枚舉,請使用 count_until/3 fn _ -> true end 作為第二個參數。

例子

iex> Enum.count_until(1..20, 5)
5
iex> Enum.count_until(1..20, 50)
20
iex> Enum.count_until(1..10, 10) == 10 # At least 10
true
iex> Enum.count_until(1..11, 10 + 1) > 10 # More than 10
true
iex> Enum.count_until(1..5, 10) < 10 # Less than 10
true
iex> Enum.count_until(1..10, 10 + 1) == 10 # Exactly ten
true

用法二

count_until(enumerable, fun, limit)
(自 1.12.0 起)
@spec count_until(t(), (element() -> as_boolean(term())), pos_integer()) ::
  non_neg_integer()

計算可枚舉中 fun 返回真值的元素,在 limit 處停止。

有關詳細信息,請參閱 count/2 count_until/3

例子

iex> Enum.count_until(1..20, fn x -> rem(x, 2) == 0 end, 7)
7
iex> Enum.count_until(1..20, fn x -> rem(x, 2) == 0 end, 11)
10

相關用法


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