0

我正在尝试声明一个函数 takelist : 'a list list -> int -> 'a list,以便调用 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 而不是全部。有人告诉我地图可以提供帮助,但到目前为止,我还没有正确使用它的运气。

任何帮助表示赞赏!

4

1 回答 1

3

map接受一个函数f和一个列表[x0, x1, ..., xn]并返回[f x0, f x1, ..., f xn]

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

于 2010-10-15T16:44:25.027 回答