Как сбросить переменную seed на l oop с помощью шага со Swift? - PullRequest
0 голосов
/ 05 марта 2020

Я хочу сбросить переменную (семя) на l oop, используя шаг с Swift. У меня этот код отлично работает на C#

for (int i = 0; i <= 10; i++)
{
    //something
    i = 0;  //restart this value when necessary
}

И я пытаюсь это с быстрым

for var i in stride(from: 0, to: 10, by: 1){
    //something
    i = 0;  //I need to reset this value when necessary, but not working
}

Переменная «i» меняется на секунду, но затем возвращается к исходное значение и поведение отличается от C#.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 05 марта 2020

Как ответил Александр, то, что вы на самом деле просите сделать, это подло. Я склонен полагать, что помеченный do оператор также не будет вашим лучшим вариантом, но это самое простое решение, не видя больше кода.

Следующее напечатает 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9

var condition = true

loopReset: do {
  for i in 0..<10 {
    if condition, i > 5 {
      condition = false
      continue loopReset
    }

    print(i)
  }
}
0 голосов
/ 05 марта 2020

Может использовать

var i = 0
while i <= 10 { 
 i += 1 
 // reset if necessary    
}
...