Я пытался заставить эту функцию возвращать значение Bool, но я не понимаю, почему я получаю сообщение об ошибке «отсутствует возврат в функции, которая, как ожидается, вернет« Bool ». Я искал в Интернете и пробовал разные вещи, но я не могу найти решение Любая помощь будет оценена!
func trueSquare(a:[Int], b:[Int]) -> Bool {
for i in b[0]...b.endIndex {
if b[i] == a[i]*a[i] {
return true
}
else {
return false
}
}
}
РЕДАКТИРОВАТЬ: я изменил цикл на for i in 0...(b.count - 1)
, но я все еще получаю ту же ошибку, даже когда я вызываю функцию с a и b, имеющими одинаковое количество элементов.
b.endIndex
меньшеb[0]
? - person Travis Griggs   schedule 23.01.2019return zip(a, b).contains(where: { $0 * $0 == $1 })
может быть более простым способом получить результат. - person Martin R   schedule 23.01.2019...b.endIndex
тоже неверно —endIndex
— это индекс «один после конца». Лучше:for i in b.indices { ... }
- person Martin R   schedule 23.01.2019return
внутри цикла, если хотите повторить весь цикл. - person rmaddy   schedule 24.01.2019