Add "type_name" function and port the "new" in prelude to use it instead of clone/clear.

This commit is contained in:
Jason Turner
2009-07-24 04:01:28 +00:00
parent 2f591a25a6
commit 0d3c90a245
3 changed files with 9 additions and 2 deletions

View File

@@ -12,7 +12,7 @@
#define CODE_STRING(x, y) #x ", " #y
#define chaiscript_prelude CODE_STRING(\
def new(x) { var retval = clone(x); clear(retval); retval; } \
def new(x) { eval(type_name(x))(); } \
# to_string for Pair()\n\
def to_string(x) : call_exists(first, x) && call_exists(second, x) { \
"<" + x.first.to_string() + ", " + x.second.to_string() + ">"; \