我正在尝试在支持数组的 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>
or List<Float>
,因为它有一些技巧来支持我的动画系统,该系统使用情节提要引用部分矢量(参见http://www.youtube.com/watch?v=ijF50rRbRZI)
在 C# 中,我可以写:
public float this[index] { get { ... } set { .... } }
我已经阅读了 Haxe 文档并找到ArrayAccess<T>
了,但是界面是空的。那就是我不明白如何实现它,或者如果我只是实现ArrayAccess<Float>
......我的类上的什么方法将被调用以Float
在所述索引处检索?