fun min_int(x: Int, y: Int): Int
do
if x < y then return x
return y
end
var xs = [100,423,51,1,-19,55,999,-18]
assert xs.iterator.fold1(&min_int) == -19
REQUIRE : length > 1
# Folds and apply two element at a time
#
# ~~~~nitish
# fun min_int(x: Int, y: Int): Int
# do
# if x < y then return x
# return y
# end
#
# var xs = [100,423,51,1,-19,55,999,-18]
# assert xs.iterator.fold1(&min_int) == -19
# ~~~~
# REQUIRE : length > 1
fun fold1(f: Fun2[E,E,E]): E
do
var a1 = item
next
var a2 = item
next
var res = f.call(a1,a2)
for x in self do
res = f.call(res, x)
end
return res
end
lib/functional/iter_extras.nit:146,9--170,11