我已经习惯了Scala中的各种数据结构,并且我注意到这个函数(设计示例),它应该将可变数组中的每个字符向右移动一个,对阵列没有影响:
def shiftRight(str: String): Array[Char] = {
val chars = str.toCharArray
for(i <- chars.length - 1 until 0) chars(i) = chars(i - 1)
chars
}
println(shiftRight("ABCD").mkString)
产生结果
ABCD
不是预期的
AABC