如何在ATS中形成列表列表?
例如,我希望列表包含列表的所有排列(1,2,3)。
此外,如何将列表列表展平为列表?
答案 0 :(得分:0)
假设您要使用list0(未编入索引):
val xs1 = g0ofg1($list{int}(1,2,3))
val xs2 = g0ofg1($list{int}(1,3,2))
val xs3 = g0ofg1($list{int}(2,1,3))
val xs4 = g0ofg1($list{int}(2,3,1))
val xs5 = g0ofg1($list{int}(3,1,2))
val xs6 = g0ofg1($list{int}(3,2,1))
val xss = g0ofg1($list{list0(int)}(xs1, xs2, xs3, xs4, xs5, xs6))
对于展平,您可以使用list0_concat
:
fun{a:t@ype}
flatten(xss: list0(list0(a))): list0(a) = list0_concat<a>(xss)