我正在尝试将 Ocaml 中的一组整数组合成一个整数。 例如, 输入 - 列表 = [2,3,6,7,9] 所需输出 - 97632。
我知道如何迭代列表,但是我应该使用什么操作/函数来获得所需的输出?
任何时候将列表转换为另一个值时,都应该考虑使用
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"