Обновить индекс шага шага внутри другого - PullRequest
0 голосов
/ 16 ноября 2018

Из-за сложности вычислений мне приходится обновлять индексы внутри кратных for loops.

Итак,

for index in stride(from: 0, to: data.count, by: 1)
   .....
   .....

    for i in stride(from: index, to: data.count, by: 1)
        .....
        index=i ; break;  //update index and break inner loop so next outer for loop iteration will start from a new index.

Таким образом, внешний цикл теперь перейдет к новому значению.

Использование "where" в цикле невозможно, поскольку условия во внутреннем цикле зависят от слишком многих вещей.(это не только где i != 2)

  1. Я получу ошибку, что индекс разрешен
  2. Это плохая практика?

1 Ответ

0 голосов
/ 16 ноября 2018

Вы можете сделать это, заменив первый шаг на while.

var index = 0

while index < data.count {
    .....
    .....
    index += 1
    for i in stride(from: index-1, to: data.count, by: 1) {
        .....
        index=i 
        break
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...