Haxe,ListSort.sort() 问题

标签 haxe

var persons: List<Person> = readPersonsFile("persons.txt");
ListSort.sort(persons, function(personA, personB): Int
{
    return Person.compare(personA.first(), personB.first());
});

我只是想对此列表进行排序。它给了我这个错误:

Constraint check failure for sort.T
List<Person> should be { prev : List<Person>, next : List<Person> }
List<Person> has no field next

这对我来说很奇怪,因为听起来它希望我传递一个带有两个不同列表的隐式对象,如果确实是这样的话......如果这是真的,那就不是很绝缘。

最佳答案

ListSort只有supposed to work在单链表或双向链表上; List class 都不是这些(尽管它确实与它们共享一些 API,但时间和空间成本不同)。

就您而言,您可能可以更改 readPersonsFile返回 Arrayhaxe.ds.GenericStack ,并使用 persons.sort(cmp)ListSort.sortSingleLinked(persons.head, cmp) .

此外,如有必要,您可以轻松转换任何可迭代对象 - 即具有 iterator:Void->Iterator<T> 的任何对象。方法 – 放入 Lambda.array(iterable) 的数组中.


documentation T 缺乏必要的约束参数。这是文档生成器中的一个错误,我将尽快报告。

关于Haxe,ListSort.sort() 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41756385/

相关文章:

haxe - 使用 haxe 作为 c++ 和 JavaScript 之间的转译器

FlashDevelop、Haxe 导入 CreateJS?

haxe - 表达式返回奇怪的错误

flash - 多语言闪存

Haxe as语法,如何使用AS3 as

timer - 使用 Haxe 将参数传递给延迟函数

actionscript-3 - 将 fla 文件从移植的 flash 项目添加到 haxe (openfl)

haxe - 如何通过 XML(?) 在 OpenFL (Haxe) 中导出(保存)数据

actionscript-3 - AS3在Haxe中删除字典[key]

haxe - 使用单个脚本测试多种 Haxe 目标语言