2016 Update
This commit is contained in:
parent
948b86eafa
commit
dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions
13
Task/Catamorphism/Groovy/catamorphism.groovy
Normal file
13
Task/Catamorphism/Groovy/catamorphism.groovy
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
def vector1 = [1,2,3,4,5,6,7]
|
||||
def vector2 = [7,6,5,4,3,2,1]
|
||||
def map1 = [a:1, b:2, c:3, d:4]
|
||||
|
||||
println vector1.inject { acc, val -> acc + val } // sum
|
||||
println vector1.inject { acc, val -> acc + val*val } // sum of squares
|
||||
println vector1.inject { acc, val -> acc * val } // product
|
||||
println vector1.inject { acc, val -> acc<val?val:acc } // max
|
||||
println ([vector1,vector2].transpose().inject(0) { acc, val -> acc + val[0]*val[1] }) //dot product (with seed 0)
|
||||
|
||||
println (map1.inject { Map.Entry accEntry, Map.Entry entry -> // some sort of weird map-based reduction
|
||||
[(accEntry.key + entry.key):accEntry.value + entry.value ].entrySet().toList().pop()
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue