f (code: String): String - это новая функция кода, она принимает одну старую строку кода и генерирует новую строку кода.
def getNewCodes(oldCodes: Array[String]): Array[String] = {
val newCodes: Array[String] = Array()
oldCodes.foreach(code => newCodes :+ f(code)) // newCodes is not captured by the lambda function
newCodes // returns the empty array
}
Я передал лямбда-функцию для получения нового кода и обновил его в массиве newCodes.Новый массив кода должен быть возвращен в конце функции.Но возвращается пустой массив.
Кажется, что лямбда-функция не захватывает переменную newCodes
. Почему?