我从Scala开始,现在我在讨论高阶函数,但是我很难用函数作为输入来处理这种编程方式.
我必须使用fold,scan和/或reduce来编写一个更高阶的函数来连接一个字符串,如下所示:
concatenate(List("S", "T", "R", " example!") , f)
//> res1: List[String] = List(STR example!, TR example!, R example!, " example!", "")
Run Code Online (Sandbox Code Playgroud)
有谁知道我怎么能解决这个问题?
scan仅限使用:
List("S", "T", "R", " example!").reverse.scan("")((x, y) => y + x).reverse
// res72: List[String] = List(STR example!, TR example!, R example!, " example!", "")
Run Code Online (Sandbox Code Playgroud)
用途scanRight:
List("S", "T", "R", " example!").scanRight("")(_+_)
// res73: List[String] = List(STR example!, TR example!, R example!, " example!", "")
Run Code Online (Sandbox Code Playgroud)