У меня есть 3 массива типа Int, которые имеют по 5 значений в каждом из них. Я пытаюсь создать функцию, которая заменяет значения на основе условий. Например, array1, если значение индекса находится между 2-5, замените произвольно сгенерированное число между 1-6.Изменение конкретных значений в массиве
Вот то, что я до сих пор
import Foundation
func newRandomNumbers(#array1: [Int], array2: [Int], array3: [Int]) {
for i in 0..<5 {
switch (array1[i]) {
case 2, 3, 4, 5:
let randomNumber = Int(1 + arc4random() % 6)
array1[i] = randomNumber
break;
default:
break;
}
switch (array2[i]) {
case 2, 3, 4, 5:
array2[i]
break;
default:
break;
}
switch (array3[i]) {
case 1, 2, 3, 4, 5:
array3[i]
break;
default:
break;
}
}
}
Я получаю сообщение об ошибке «Невозможно присвоить неизменное значение типа" Int»
Когда я переписать упрощенную функцию, которая делает ту же цель I не получите ошибку, но странно не все числа заменены.
import Foundation
var newArray = [2,3,4,5,6]
func newRandom(#array1: [Int]){
for i in 0..<5 {
switch(array1[i]) {
case 2, 3, 4, 5:
let randomNumber = Int(1 + arc4random() % 6)
newArray[1] = randomNumber
default:
break;
}
}
}
newRandom(array1: newArray)
newArray
Не знаете, как решить. Также будут оценены рекомендации по очистке моего кода. Благодаря!
поставил newArray [я] = randomNumber вместо newArray [1] = randomNumber –