假设我在Scala中有一个字符串数组:
val strings = Array[String]("1", "2", "3", "4", "5", "6", "7")
我需要的是创建一个新数组,其中的元素将作为第一个数组的每三个(任意数量)后续元素的串联获得,这应该导致("123", "456", "7")
作为 Scala 的新手,我编写了以下既不简洁也不有效的代码:
var step = 3
val strings = Array[String]("1", "2", "3", "4", "5", "6", "7")
val newStrings = collection.mutable.ArrayBuffer.empty[String]
for (i <- 0 until strings.length by step) {
var elem = ""
for (k <- 0 until step if i + k < strings.length) {
elem += strings(i + k)
}
newStrings += elem
}
这样做的Scala方式是什么?