From 0cbfbba377cfc0e88a87361b774c3f46ddfe12e5 Mon Sep 17 00:00:00 2001 From: mryouse Date: Mon, 6 Jun 2022 00:47:21 +0000 Subject: 'split' without splitter turns into a char list --- interpreter.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'interpreter.py') diff --git a/interpreter.py b/interpreter.py index 74095ac..b3c5fcd 100644 --- a/interpreter.py +++ b/interpreter.py @@ -454,13 +454,15 @@ def interpretSplit(symbol, args, env): target = evaluate(args[0], env) if not isinstance(target, String): raise InterpretPanic(symbol, "requires a :string as its first argument", target) + if len(args) == 1: + return List([String(char) for char in target.value], True) splitter = evaluate(args[1], env) if not isinstance(splitter, String): raise InterpretPanic(symbol, "requires a :string as its second argument", splitter) ret = target.value.split(splitter.value) return List([String(r) for r in ret], True) -GLOBALS.register("split", Builtin(interpretSplit, 2)) +GLOBALS.register("split", Builtin(interpretSplit, 1, 2)) # - get the length of a list def interpretListLength(symbol, args, env): -- cgit v1.2.3