aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/util
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2015-10-05 22:26:29 +0100
committerMichael Williamson <mike@zwobble.org>2015-10-05 22:26:29 +0100
commit166a205aeb4c595b40b8ffe4c7d745b13031e3b3 (patch)
treeaa493482f4ca312c1f23913ebc2f57b71d8aa590 /src/main/java/org/zwobble/couscous/util
parent44e4b877baea47c0465e1029bdbedc848381999f (diff)
Add support for static method calls to Python backend
Diffstat (limited to 'src/main/java/org/zwobble/couscous/util')
-rw-r--r--src/main/java/org/zwobble/couscous/util/ExtraLists.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/util/ExtraLists.java b/src/main/java/org/zwobble/couscous/util/ExtraLists.java
new file mode 100644
index 0000000..b3c017f
--- /dev/null
+++ b/src/main/java/org/zwobble/couscous/util/ExtraLists.java
@@ -0,0 +1,18 @@
+package org.zwobble.couscous.util;
+
+import java.util.List;
+import java.util.function.BiFunction;
+import java.util.function.Function;
+
+public class ExtraLists {
+ public static <T, R> R foldLeft(
+ List<T> list,
+ Function<T, R> initialValue,
+ BiFunction<R, T, R> function) {
+ R accumulator = initialValue.apply(list.get(0));
+ for (int index = 1; index < list.size(); index++) {
+ accumulator = function.apply(accumulator, list.get(index));
+ }
+ return accumulator;
+ }
+}