扩展Iterable的Haxe接口

时间:2015-06-14 15:48:11

标签: generics interface haxe

我有一个扩展Iterable(以及其他接口)的接口。

interface MyInterface extends Iterable {
  public function iterator ():Iterator<Dynamic>;
}

这给了我

  

MyInterface.hx:1:第1-3行:类型参数的数量无效   可迭代

正确的方法是什么?

1 个答案:

答案 0 :(得分:7)

Iterable被定义为typedef,而不是interface,因此无法使用。

只需在您的类中添加一个名为iterator()的函数即可,无需实现或扩展任何内容。这种机制称为structural subtyping

有关迭代器here的更多信息。