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