【发布时间】:2016-05-21 11:55:54
【问题描述】:
我在 Scala 中有一个 Strings 列表。我想创建一个新列表,其中每个元素都是前一个列表中的对应元素,并附加了尽可能多的\ns,在该列表元素之前累积。像这样的:
List("a\nb\nc","\nd","e") => List("a\nb\nc","\n\n\nd","\n\n\ne")
没有新的\ns 附加到第一个,2 个额外附加到第二个(因为第一个有 2 个)和三个(第一个和第二个的累积)到第三个。
我发现这个问题在某种程度上位于 fold 和 yield 构造之间。
在 Scala 中不使用任何可变变量等实现这一目标的最佳方法是什么?
【问题讨论】:
标签: scala functional-programming