【发布时间】:2015-09-26 20:01:38
【问题描述】:
let concat (l : string list) : string = fold_right (fun a x -> a ^ x) l ""
所以要通过它,我看到了
- 让 concat 获取一个包含字符串的列表,并返回一个字符串。
- 右折叠需要3个参数,
- 1 第一个是连接两个字符串的函数,它接受 a 和 x,然后使用 ^ 连接它们。
- 2第二个参数是列表,
- 3,最后第三个是累加器,将每次传递都添加到其中。
但是,func a x 怎么知道 a 是列表的第一个元素,而 x 是第二个。
而当它再次通过时,它怎么知道a是列表的第三个元素,x是第四个元素,以此类推?
【问题讨论】:
标签: list functional-programming ocaml higher-order-functions