【发布时间】:2017-09-04 17:04:08
【问题描述】:
我想编写一个 Scala 函数,该函数接受一个字符串列表,并在每个字符串中复制每个字符并将其值递增一个,如下所示:
def diplicateAndIncrementChar(l: List[String]): List[String] = {
// (...)
}
diplicateAndIncrementChar(List("ROAD", "BALL", "LEMON"))
//> res50: List[String] = List(RSOPABDE, BCABLMLM, LMEFMNOPNO)
诀窍是我必须在一个语句中执行此操作。
我考虑过使用地图并这样做了:
l.map(s => new String(s.map(c => (c+1)).toString()))
但它并没有给出我想要的结果:
//> res10: List[String] = List(Vector(83, 80, 66, 69), Vector(67, 66, 77, 77), Vector(77, 70, 78, 80, 79))
谁能帮我解决这个问题?
【问题讨论】:
-
l.map(s => s.flatMap(c => "" + c + (c+1).toChar))
标签: string scala list char scala-collections