我正在尝试声明一个函数接受列表:'列表列表 - > 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。我被告知地图能够提供帮助,但到目前为止我没有运气正确使用它。
感谢任何帮助!
答案 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)]
,这正是您想要的。