diff --git a/chaiscript/chaiscript_engine.hpp b/chaiscript/chaiscript_engine.hpp index e76c6a14..3c5a499f 100644 --- a/chaiscript/chaiscript_engine.hpp +++ b/chaiscript/chaiscript_engine.hpp @@ -205,10 +205,12 @@ namespace chaiscript ss.register_function(boost::shared_ptr( new dispatchkit::Dynamic_Proxy_Function(boost::bind(&ChaiScript_System::eval, boost::ref(*this), _1), 1)), "eval"); - evaluate_string("def print(x) { print_string(x.to_string()) }; " + evaluate_string("def puts(x) { print_string(x.to_string()) }; def print(x) { println_string(x.to_string()) };" "def for_each(container, func) { var range = range(container); while (!range.empty()) { func(range.front()); range.popFront();} }; " "def map(container, func) { var retval = Vector(); var range = range(container); while (!range.empty()) { retval.push_back(func(range.front())); range.popFront();}; return retval;}; " - "def reduce(container, func, initial) { var retval = initial; var range = range(container); while (!range.empty()) { retval = (func(range.front(), retval)); range.popFront();}; return retval;}"); + "def reduce(container, func, initial) { var retval = initial; var range = range(container); while (!range.empty()) { retval = (func(range.front(), retval)); range.popFront();}; return retval;};" + "def join(container, delim) { var retval = \"\"; var range = range(container); if (!range.empty()) { retval += to_string(range.front()); range.popFront(); " + "while (!range.empty()) { retval += delim; retval += to_string(range.front()); range.popFront(); }\n }\n return retval; };" ); return ss; } diff --git a/dispatchkit/bootstrap.hpp b/dispatchkit/bootstrap.hpp index 35da90ca..28cc4d0a 100644 --- a/dispatchkit/bootstrap.hpp +++ b/dispatchkit/bootstrap.hpp @@ -404,6 +404,11 @@ namespace dispatchkit } static void print(const std::string &s) + { + std::cout << s; + } + + static void println(const std::string &s) { std::cout << s << std::endl; } @@ -456,6 +461,7 @@ namespace dispatchkit register_function(s, &print, "print_string"); + register_function(s, &println, "println_string"); s.register_function(boost::function(boost::bind(&dump_system, boost::ref(s))), "dump_system"); s.register_function(boost::function(boost::bind(&dump_object, _1)), "dump_object");