All pastes #737908 Raw Edit

Mine

public text v1 · immutable
·published 2007-10-15 20:46 UTC
rendered paste body
#include "luawrap.h"

luawrap::Number sum(const luawrap::Arguments& args)
{
	luawrap::Number n = 0;
	for (luawrap::Arguments::iterator it = args.begin(); it != args.end(); ++it) {
		try {
			n += luawrap::cast<luawrap::Number>(*it);
		} catch (luawrap::bad_cast& e) {
			throw luawrap::error("number expected, but %s given", it->typestr());
		}
	}
	return n;
}

luawrap::Table iota(int n)
{
	luawrap::Table result;
	for (int i = 0; i < n; ++i) result.append(i);
	return result;
}

int main()
{
	luawrap::State L = luawrap::createState();
	L.global("sum") = sum;
	L.global("iota") = iota;
	L.global("TheAnswer") = 42;
	L << "print \"The answer should be:\", sum(TheAnswer, -1, +1)";
	std::ifstream ifs("test.lua");
	L << ifs;
	return 0;
}