Котлин. Как обнулить каждый элемент массива?

Я использую FloatArray:

        private val values = FloatArray(5)

В какой-то момент мне нужно сбросить каждое значение массива до нуля. Я пытался сделать это так:

        values.onEachIndexed { index, value -> value[index] = 0.0f  }

Но я получаю эту ошибку

Нет заданного метода, обеспечивающего доступ к массиву

В то же время этот код работает (вне onEachIndexed), и я могу установить значение для элемента:

      values[1] = 4.0f

Что я делаю не так ? пожалуйста, помогите мне

1 ответ

Ваша попытка не работает, потому что представляет собой элемент массива, а не сам массив, поэтому вы не можете использовать[]установить его. Переназначить ему новое значение тоже не получится, т.к.valueявляется лямбда-параметром.

Существует встроенный метод для заполнения всего (или части) массива -fill

      values.fill(0.0f)
Другие вопросы по тегам