在SML中的列表列表中使用List.nth

时间:2010-10-15 15:59:24

标签: list sml

我正在尝试声明一个函数接受列表:'列表列表 - > int - > '列表,以便调用takelist xs n将返回xs列表中的点号n中的元素。

takelist [[#"3", #"6"], [#"6", #"2"], [#"5", #"9"]] 1;

应该返回[#“6”,#“2”,#“9”]。

这就是我所拥有的:

fun tagliste (x::xs) n = List.nth(x,n);

我做了我想要的一半,我无法弄清楚如何获得一切。我只是从第一个列表而不是所有列表中获取n。我被告知地图能够提供帮助,但到目前为止我没有运气正确使用它。

感谢任何帮助!

1 个答案:

答案 0 :(得分:3)

map使用函数f和列表[x0, x1, ..., xn]并返回[f x0, f x1, ..., f xn]

因此,如果我们将f x定义为List.nth(x,n),则会返回[List.nth (x0, n), List.nth (x1, n), ..., List.nth (xn, n)],这正是您想要的。