Ejemplo n.º 1
0
static void scArrayJoin(const CFunctionsScopePtr &c, void *data) {
	string sep = c->getArgument("separator")->toString();
	CScriptVarPtr arr = c->getArgument("this");

	ostringstream sstr;
	uint32_t l = arr->getLength();
	for (uint32_t i=0;i<l;i++) {
		if (i>0) sstr << sep;
		sstr << arr->getProperty(i)->toString();
	}

	c->setReturnVar(c->newScriptVar(sstr.str()));
}
Ejemplo n.º 2
0
static void scArrayContains(const CFunctionsScopePtr &c, void *data) {
	CScriptVarPtr obj = c->getArgument("obj");
	CScriptVarPtr arr = c->getArgument("this");

	uint32_t l = arr->getLength();
	CScriptVarPtr equal = c->constScriptVar(Undefined);
	for (uint32_t i=0;i<l;i++) {
		equal = obj->mathsOp(arr->getProperty(i), LEX_EQUAL);
		if(equal->toBoolean()) {
			c->setReturnVar(c->constScriptVar(true));
			return;
		}
	}
	c->setReturnVar(c->constScriptVar(false));
}