我有一个扩展Iterable(以及其他接口)的接口。
interface MyInterface extends Iterable {
public function iterator ():Iterator<Dynamic>;
}
这给了我
MyInterface.hx:1:第1-3行:类型参数的数量无效 可迭代
正确的方法是什么?
答案 0 :(得分:7)
Iterable
被定义为typedef
,而不是interface
,因此无法使用。
只需在您的类中添加一个名为iterator()
的函数即可,无需实现或扩展任何内容。这种机制称为structural subtyping。
有关迭代器here的更多信息。