刚刚拿起Ocaml并一直在研究递归迭代等等。我试图迭代一个元组但是被难倒了。假设我想迭代一个元组并将每个元素除以一半,我该怎么做呢?特别是如果元组的大小未知但只是作为变量给出?现在如果我知道它是一个2元素元组我可以做
let rec divide n = match with (a,b) -> ...
所以这就是我被困住的地方。我如何找出与参数匹配的内容?我知道一旦创建了元组就会被修复,所以我无法对它进行修改,那么我将如何创建一个包含原始元组/ 2元素的新元组。任何帮助赞赏。
答案 0 :(得分:3)
John Coleman是对的,没有办法编写OCaml代码,这些代码具有不同大小的元组的多态性。您可以编写适用于特定大小的元组的代码。您还可以编写适用于给定类型的任意数量值的代码 - 为此,您将使用列表而不是元组。
很可能您可以使用列表来使用代码。