Scala:连接字符串的高阶函数

时间:2017-04-14 21:14:41

标签: scala

我从Scala开始,现在我在讨论高阶函数,但是我很难用函数作为输入处理这种编程方式。

我必须使用折叠,扫描和/或缩小来编码更高阶函数,这样可以连接一个字符串,如下所示:

concatenate(List("S", "T", "R", " example!") , f)
//> res1: List[String] = List(STR example!, TR example!, R example!, " example!", "")

有谁知道如何处理这个问题?

1 个答案:

答案 0 :(得分:5)

仅使用scan

List("S", "T", "R", " example!").reverse.scan("")((x, y) => y + x).reverse
// res72: List[String] = List(STR example!, TR example!, R example!, " example!", "")

使用scanRight

List("S", "T", "R", " example!").scanRight("")(_+_)
// res73: List[String] = List(STR example!, TR example!, R example!, " example!", "")