diff options
Diffstat (limited to 'interpreter.py')
| -rw-r--r-- | interpreter.py | 14 | 
1 files changed, 14 insertions, 0 deletions
| diff --git a/interpreter.py b/interpreter.py index 4677432..841f5cf 100644 --- a/interpreter.py +++ b/interpreter.py @@ -263,6 +263,20 @@ def interpretToString(expr, env):  GLOBALS.register("->string", Builtin(interpretToString, 1)) +def interpretConcat(expr, env): +    # concat str1 str2...strN +    if len(expr.args) < 2: +        raise Exception("'concat' takes at least two arguments") +    out = "" +    for arg in expr.args: +        tmp = evaluate(arg, env) +        if not isinstance(tmp, str): +            raise Exception("'concat' arguments must be strings") +        out += tmp +    return out + +GLOBALS.register("concat", Builtin(interpretConcat)) +  def interpretForCount(expr, env):      # for-count int exprs      num = evaluate(expr.args[0], env) | 
