Implements indexing, currently can only be used with strings

This commit is contained in:
2019-06-06 17:35:51 +02:00
parent b275e1fbd6
commit cb5d9e2f62
15 changed files with 140 additions and 9 deletions

View File

@@ -32,6 +32,12 @@ public:
shared_ptr<EvalValue> Clone() final{
return make_shared<StringEvalValue>(_value);
}
EvalValue* IndexValue(EvalValue* val) final{
// Porygon is 1-indexed, so we convert to that.
auto l = val->EvaluateInteger() - 1;
return new StringEvalValue(string(1, _value[l]));
}
};