Ocaml-遍历元组

Ocaml- Iterating through a tuple

刚学会 Ocaml 并一直在研究递归迭代等等。我试图遍历一个元组但被难住了。假设我想遍历一个元组并将每个元素除以一半,我该怎么做呢?特别是如果元组的大小未知而只是作为变量给出?现在,如果我知道这是一个 2 元素元组,我可以做到

let rec divide n = match with (a,b) -> ...

这就是我被困的地方。我如何找出与参数匹配的内容?我知道元组一旦创建就固定了,所以我不能就地修改它,那么我将如何创建一个包含原始 tuple/2 元素的新元组。任何帮助表示赞赏。

John Coleman 是正确的,没有办法编写在不同大小的元组上具有多态性的 OCaml 代码。您可以编写适用于特定大小的元组的代码。您还可以编写适用于给定类型的任意数量的值的代码——为此,您将使用列表而不是元组。

很可能您可以使用列表使您的代码正常工作。