【发布时间】:2011-07-27 23:50:09
【问题描述】:
我正在尝试使用 [] 运算符在 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?
【问题讨论】:
标签: haxe