扩展Iterable的Haxe接口

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了扩展Iterable的Haxe接口相关的知识,希望对你有一定的参考价值。

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

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

这给了我

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

什么是正确的进行方式?

答案

Iterable被定义为typedef,而不是interface,因此这不起作用。

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

有关Iterators here的更多信息。

以上是关于扩展Iterable的Haxe接口的主要内容,如果未能解决你的问题,请参考以下文章

Haxe:可迭代的空对象模式

如何查看 Haxe 中的可用空间?

如何在 Haxe 中创建动作脚本对象

ES 6 : 数组的扩展

Haxe 3返回空CallStack

是否扩展接口,何时基类已经扩展了相同的接口