From 05814ecad3370a015c6bdc62e0447a318f77874f Mon Sep 17 00:00:00 2001 From: hizamakura Date: Sun, 16 Feb 2020 04:57:35 +0800 Subject: [PATCH] Add switch function --- .../com/jagrosh/jagtag/libraries/Functional.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/main/java/com/jagrosh/jagtag/libraries/Functional.java b/src/main/java/com/jagrosh/jagtag/libraries/Functional.java index f7f251b..00e99ec 100644 --- a/src/main/java/com/jagrosh/jagtag/libraries/Functional.java +++ b/src/main/java/com/jagrosh/jagtag/libraries/Functional.java @@ -63,6 +63,21 @@ public static Collection getMethods() { return in[1]; return in[2]; }, "|then:", "|else:"), + + // performs a switch conditional + new Method("switch", (env,in) -> { + String[] cases = in[1].split("\\|"); + + if(cases.length % 2 != 0) + return in[in.length - 1]; + + for (int i = 0; i < cases.length; i += 2) { + if(in[0].equals(cases[i])) + return cases[i + 1]; + } + + return in[in.length - 1]; + }, "|cases:", "|default:"), // performs basic mathematical function new Method("math", (env,in) -> {