如何在 Nim 中对序列进行排序?

How to sort a sequence in Nim?

我有一个列表理解生成的序列如下:

var a_bigram_list = lc[a[i..i+2] | (i <- 0..<len(a)), string]

现在想排序但是sort(a_bigram_list)会出现下面的编译错误

Error: type mismatch: got (seq[string])
but expected one of: 
proc sort[A, B](t: OrderedTableRef[A, B]; cmp: proc (x, y: (A, B)): int)
proc sort[A, B](t: var OrderedTable[A, B]; cmp: proc (x, y: (A, B)): int)
proc sort[A](t: CountTableRef[A])
proc sort[A](t: var CountTable[A])
proc sort[T](a: var openArray[T]; cmp: proc (x, y: T): int; order = SortOrder.Ascending)

有什么方法可以对序列进行排序吗?或者我需要将它转换为数组吗?如果是这样,有没有办法从lc获取数组?

sort 与序列一起工作(openArray 是一个通用参数类型,它接受 arrays 和 seqs),但它期望比较过程作为第二个参数.

您可以从系统模块为其提供默认 cmp:

sort(a_bigram_list, system.cmp)