Scala - 复制char并增加它的值

时间:2017-04-09 17:40:20

标签: string scala list char scala-collections

我想编写一个Scala函数,它接受一个字符串列表,并在每个字符串中复制每个字符,并将其值增加一个,如下所示:

<your_program> 2>&1 | rotatelogs <opts> <logfile> <rotation_criteria>

诀窍是我必须在一个声明中这样做。

我想过使用map并做了这个:

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()))

任何人都可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

由于您的输入和输出是不同大小的字符列表,因此您可能希望使用flatMap,而不是map

顺便说一句(c: Char + 1)Int,因此您必须明确地将其转换回Char以获得您想要的内容。

我不会说更多,因为这应该足以让你自己找出其余部分。