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); }
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); }