如何在 Ocaml 中将列表的元素组合成一个元素?

问题描述 投票:0回答:1

我正在尝试将 Ocaml 中的一组整数组合成一个整数。 例如, 输入 - 列表 = [2,3,6,7,9] 所需输出 - 97632。

我知道如何迭代列表,但是我应该使用什么操作/函数来获得所需的输出?

ocaml
1个回答
2
投票

任何时候将列表转换为另一个值时,都应该考虑使用

List.fold_left
List.fold_right
。它以另一种方式工作,但请考虑以下内容。

# List.fold_left (fun i x -> i ^ string_of_int x) "" [1;2;3;4];;
- : string = "1234"
# 

请参阅列表折叠函数文档https://caml.inria.fr/pub/docs/manual-ocaml/libref/Stdlib.List.html

或者,只需将整数列表映射到字符串列表,然后使用

String.concat

# [1; 2; 3; 4]
  |> List.map string_of_int
  |> String.concat "";;
- : string = "1234"
© www.soinside.com 2019 - 2024. All rights reserved.