2017-03-01 15 views
1

私は次のようにリストの内包によって生成された配列を有する:今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から配列を取得する方法はありますか?配列と

答えて

4

sort作品(openArrayarray sおよびseqの両方を受け入れジェネリックパラメータの型である)、それは2番目のパラメータとして比較PROCを期待。

あなたは、システムモジュールからそれをデフォルトのCMPを提供することができます。

sort(a_bigram_list, system.cmp) 
+0

おかげで、それはすべてが明らかにしました! –

関連する問題