list - Turning list of integers into string in OCaml
问题描述
How could I turn a list of integers, such as [1;2;3], into a single string "123" using fold?
Right now, I think I'm doing:
let int_list_to_string (s : int list) : string =
fold (fun s combine -> combine + .... ) ""
or something along these lines, where .... could be something similar to String.length (which I used in a different fold problem to count characters in a string) but I don't know if this is even remotely correct.
Thank you!
解决方案
你的基本布局对我来说很合适。很多事情需要解决。这里有几个:
您必须选择要使用的特定折叠功能,
List.fold_left
或者List.fold_right
.要折叠的函数有两个参数。一个是累积结果,另一个是列表中的下一个输入。顺序取决于您是否使用
fold_left
或fold_right
。您的代码草图有两个参数,但其中一个参数可疑地命名为s
. 这s
与输入列表不同。之后的名称fun
是此时引入的新参数变量。用于连接字符串的 OCaml 运算符是
^
,这是您应该在您拥有的地方使用的+
(可能只是代码中的占位符)。您需要在连接之前将每个 int 转换为字符串。有一个名为的函数
string_of_int
可以执行此操作。您必须将折叠应用于列表。即, fold 需要 3 个参数,但您在代码草图中仅提供 2 个参数。
推荐阅读
- python-3.x - 在张量流中使用 metric.Mean()
- mysql - 创建表 .... 选择
- django - 如何在 Django ORM 中链接注释?
- java - 如何使用camera2修改帧率?
- asp.net-mvc - 如何将带有语句体的 lambda 表达式转换为表达式树
- toggle - PrimeNG 多选选择和取消选择值
- ibm-mq - 确定访问我们本地队列的远程 MQ 队列管理器
- macos - 未找到 Visual Studio 2017 导入的项目。还尝试在后备搜索路径中找到“Xamarin.Android.CSharp.targets”
- python - 用于将配置单元表加载到 Apache solr 的 Shell 脚本失败
- python - GEOPANDAS .sjoin 'index_left' 和 'index_right' 不能是正在连接的框架中的名称