diff options
| author | Michael Williamson <mike@zwobble.org> | 2015-10-05 22:26:29 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2015-10-05 22:26:29 +0100 |
| commit | 166a205aeb4c595b40b8ffe4c7d745b13031e3b3 (patch) | |
| tree | aa493482f4ca312c1f23913ebc2f57b71d8aa590 /src/main/java/org/zwobble/couscous/util | |
| parent | 44e4b877baea47c0465e1029bdbedc848381999f (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.java | 18 |
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; + } +} |
