From 5ece218b4e1461a8ce9c1770aba0e47c829e8362 Mon Sep 17 00:00:00 2001 From: mryouse Date: Sat, 16 Jul 2022 02:41:29 +0000 Subject: implement 'ord', and start integrating string sorting --- neb/std/strings.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'neb') diff --git a/neb/std/strings.py b/neb/std/strings.py index 4a7166e..00d1fc3 100644 --- a/neb/std/strings.py +++ b/neb/std/strings.py @@ -57,3 +57,10 @@ def interpretRaw(symbol, args, env, ns): return String(str(args[0])) STRINGS.register("raw", Builtin("raw", interpretRaw, [Arg("string", TypeEnum.STRING)], return_type=Type(":string"))) + +def interpretOrd(symbol, args, env, ns): + if len(args[0].value) != 1: + raise InterpretPanic(symbol, "requires a :string of length 1", args[0]) + return Int(ord(args[0].value)) + +STRINGS.register("ord", Builtin("ord", interpretOrd, [Arg("char", TypeEnum.STRING)], return_type=Type(":int"))) -- cgit v1.2.3