mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
array: add reduce() method
This commit is contained in:

committed by
Alexander Medvednikov

parent
67ae167013
commit
942c56ca95
@ -314,3 +314,27 @@ fn test_filter() {
|
||||
assert d[0] == 'is'
|
||||
assert d[1] == 'awesome'
|
||||
}
|
||||
|
||||
fn sum(prev int, curr int) int {
|
||||
return prev + curr
|
||||
}
|
||||
|
||||
fn sub(prev int, curr int) int {
|
||||
return prev - curr
|
||||
}
|
||||
|
||||
fn test_reduce() {
|
||||
a := [1, 2, 3, 4, 5]
|
||||
b := a.reduce(sum, 0)
|
||||
c := a.reduce(sum, 5)
|
||||
d := a.reduce(sum, -1)
|
||||
assert b == 15
|
||||
assert c == 20
|
||||
assert d == 14
|
||||
|
||||
e := [1, 2, 3]
|
||||
f := e.reduce(sub, 0)
|
||||
g := e.reduce(sub, -1)
|
||||
assert f == -6
|
||||
assert g == -7
|
||||
}
|
||||
|
Reference in New Issue
Block a user