有模板foldl和foldr中sequtils模块。例子:
import sequtils
proc factorial(n: int): int =
foldl(1..n, a * b, 1)
echo factorial(10)
Run Code Online (Sandbox Code Playgroud)
作为模板,它们不采用 proc 参数,而是采用内联表达式,其中a和b是操作数。该模板适用于具有items迭代器的任何类型的集合,例如数组、序列或范围(如上例所示)。