From e9459b2104b56618b678404e52a2daeabc1cef61 Mon Sep 17 00:00:00 2001 From: mryouse Date: Fri, 13 May 2022 03:14:57 +0000 Subject: type conversion ->string functions --- std.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'std.py') diff --git a/std.py b/std.py index 0cd5aee..1476824 100644 --- a/std.py +++ b/std.py @@ -114,6 +114,13 @@ def std_is_bool(arg): else: return NebBool(False) +# type conversion +def std_literal_to_string(arg): + if isinstance(arg, NebString): + return arg + else: + return NebString(f"{arg.value}".lower()) + # shell def std_shell(arg): assert isinstance(arg, NebString) @@ -195,6 +202,18 @@ def build_std(): is_bool = FuncImpl(NebFunction("string?", [NebAny], NebBool), std_is_bool) STD["bool?"] = [is_bool] + # type conversion + int_to_string = FuncImpl(NebFunction("int->string", [NebInt], NebString), std_literal_to_string) + STD["int->string"] = [int_to_string] + float_to_string = FuncImpl(NebFunction("float->string", [NebFloat], NebString), std_literal_to_string) + STD["float->string"] = [float_to_string] + number_to_string = FuncImpl(NebFunction("number->string", [NebNumber], NebString), std_literal_to_string) + STD["number->string"] = [number_to_string] + bool_to_string = FuncImpl(NebFunction("bool->string", [NebBool], NebString), std_literal_to_string) + STD["bool->string"] = [bool_to_string] + to_string = FuncImpl(NebFunction("->string", [NebLiteral], NebString), std_literal_to_string) + STD["->string"] = [to_string] + # shell shell_string = FuncImpl(NebFunction("$", [NebString], NebBool), std_shell) STD["$"] = [shell_string] -- cgit v1.2.3