我只是想知道是否有一种方法可以在 OCaml 中跟踪其索引的同时迭代列表?这将非常有用 - 我正在尝试按索引值错开列表的每个元素。谢谢。
有一个函数List.iteri
,它迭代列表,同时提供每个元素的索引。但是如果你想生成一个新列表,使用List.mapi
可能更合适,它提供每个元素的索引并建立一个新列表(大小相同(。
# List.mapi (fun index element -> element + index) [0;1;2;3];;
- : int list = [0; 2; 4; 6]
有关 OCamlList
迭代器函数的文档。