【发布时间】:2017-01-20 04:57:54
【问题描述】:
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
这对我来说很奇怪,因为这听起来像是要我传递一个带有两个不同列表的隐式对象,如果真的是这样的话……如果这是真的,那并不是很绝缘。
【问题讨论】:
-
haxe.ds.ListSort并非设计用于对List<T>中的元素进行排序。它的主要目的是使用 next & prev 属性对“自定义”链接元素进行排序。 github.com/HaxeFoundation/haxe/blob/development/std/haxe/ds/… -
您确定
readPersonsFile()返回一个列表吗?也许是null,你可能想先做一个if(persons!=null)。我认为 ListSort 建议它对 List 进行排序,所以我认为它应该可以工作。 -
我知道 readPersonsFile() 没有返回 null,因为这些错误是在构建文件时出现的。 Mihail Ignatiev,如果 haxe.ds.ListSort 不是要对 List 进行排序,那是什么?因为我查看了 ArraySort,但那是针对 Array 的?
标签: haxe