Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 在压缩两个列表之前,如何从包含两个列表的元组中提取两个列表?(使用OCaml)_List_Tuples_Ocaml - Fatal编程技术网

List 在压缩两个列表之前,如何从包含两个列表的元组中提取两个列表?(使用OCaml)

List 在压缩两个列表之前,如何从包含两个列表的元组中提取两个列表?(使用OCaml),list,tuples,ocaml,List,Tuples,Ocaml,如果我有一个包含两个相同长度整数列表的元组的输入,并且我希望我的输出是这两个压缩列表的列表,那么如何首先从元组中提取这两个列表?例如,如果我的输入是TwoList=([1;2;3],[4;5;6]),那么我希望我的输出是[(1,4);(2,5);(3,6)]。如何首先将元组分为(例如)l1=[1;2;3]和l2=[4;5;6] 您可以使用模式匹配来获取元组的组件。例如,此函数获取两个整数的元组并返回它们的和: let add_uncurried tuple = let (a, b) =

如果我有一个包含两个相同长度整数列表的元组的输入,并且我希望我的输出是这两个压缩列表的列表,那么如何首先从元组中提取这两个列表?例如,如果我的输入是TwoList=([1;2;3],[4;5;6]),那么我希望我的输出是[(1,4);(2,5);(3,6)]。如何首先将元组分为(例如)l1=[1;2;3]和l2=[4;5;6]

您可以使用模式匹配来获取元组的组件。例如,此函数获取两个整数的元组并返回它们的和:

let add_uncurried tuple =
    let (a, b) = tuple in a + b

换句话说,您可以编写
let(a,b)=tuple in…
以获取tuple中
a
b
名称下的组件,您甚至可以在函数定义中进行模式匹配,如
let add_uncarried(a,b)=a+b
。这也更清楚地表明函数需要一个元组。