Beispiel #1
0
void Array::setMember(const Variable &id, const Variable &value) {
	if (id.isNumber()) {
		std::list<Variable>::iterator iter = _values.begin();
		std::advance(iter, static_cast<size_t>(id.asNumber()));
		*iter = value;
		return;
	}

	Object::setMember(id, value);
}
Beispiel #2
0
Variable Array::getMember(const Variable &id) {
	if (id.isNumber()) {
		std::list<Variable>::iterator iter = _values.begin();
		std::advance(iter, static_cast<size_t>(id.asNumber()));
		return *iter;
	}

	if (id.isString() && id.asString() == "length")
		return Variable((unsigned long)_values.size());

	return Object::getMember(id);
}