Я пытаюсь написать класс в Haxe, поддерживающий массив, такой как доступ, используя оператор []
, такой как:
var vector = new Vec3();
trace(vector.length); // displays 3
vector[0] = 1; // array like access to the class, how?
vector[1] = 5.6; // more array access
vector[2] = Math.PI; // yet more array access
Проблема в том, что я не знаю, как определить класс таким образом, чтобы онпозволяет оператор []
.Мне нужен этот класс вместо использования Array<Float>
или List<Float>
, потому что с ним происходит некоторая хитрость для поддержки моей системы анимации, которая ссылается на части векторов, используя раскадровки (см. http://www.youtube.com/watch?v=ijF50rRbRZI)
ВC # я мог бы написать:
public float this[index] { get { ... } set { .... } }
Я прочитал документацию Haxe и нашел ArrayAccess<T>
, но интерфейс пуст. То есть я не понимаю, как реализовать этоили если я просто реализую ArrayAccess<Float>
... какой метод в моем классе будет вызван для получения Float
по указанному index ?