diff options
Diffstat (limited to 'main/core/runtime/builtins/ConcatBuiltinFunction.java')
| -rw-r--r-- | main/core/runtime/builtins/ConcatBuiltinFunction.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/main/core/runtime/builtins/ConcatBuiltinFunction.java b/main/core/runtime/builtins/ConcatBuiltinFunction.java new file mode 100644 index 0000000..5f87a38 --- /dev/null +++ b/main/core/runtime/builtins/ConcatBuiltinFunction.java @@ -0,0 +1,38 @@ +package com.jantuomi.interpreter.main.core.runtime.builtins; + +import com.jantuomi.interpreter.main.core.parser.datatype.DataContainer; +import com.jantuomi.interpreter.main.core.parser.datatype.StringDataContainer; +import com.jantuomi.interpreter.main.core.runtime.Function; +import com.jantuomi.interpreter.main.exception.InterpreterException; + +import java.util.Arrays; +import java.util.List; + +/** + * Created by jan on 21.6.2016. + */ +public class ConcatBuiltinFunction extends Function { + public ConcatBuiltinFunction() { + super( + Arrays.asList("strings"), + null + ); + } + + @Override + public String getName() { + return "concat"; + } + + @Override + public DataContainer evaluate(List<DataContainer> params) throws InterpreterException { + StringBuilder sb = new StringBuilder(); + for (DataContainer d : params) { + sb.append(d.getData()); + } + + return new StringDataContainer( + sb.toString() + ); + } +} |
