let concat (l : string list) : string = fold_right (fun a x -> a ^ x) l ""
所以,我看到了
但是,func a x
如何知道a是列表的第一个元素,x是第二个元素。
当它再次通过时,它如何知道a是列表的第三个元素,x是第四个元素,等等?
发布于 2015-09-26 12:16:50
accumulator
是fold function
的第一个参数,a
,而x
是列表的set to each element
,而fold
则遍历它。
fold function
的返回值是accumulator
的new value
。
accumulator
的初始值是empty string
,因此第一个级联的结果(成为new accumulator
)与列表的first element
值相同。
然后将next element
连接到该字符串,以此类推,直到到达列表的末尾,此时fold
返回完全连接的字符串final value of the accumulator
。
https://stackoverflow.com/questions/32801443
复制相似问题