Поведение вложенного цикла while в R - PullRequest
0 голосов
/ 12 сентября 2010

Я озадачен, почему вывод не соответствует ожидаемому в следующих вложенных циклах:Я ожидал что-то вроде

[1] "i"
[1] 1
[1] "j"
[1] 1
[1] "j"
[1] 2
[1] "j"
[1] 3
[1] "j"
[1] 4
[1] "i"
[1] 2
[1] "j"
[1] 1
[1] "j"
[1] 2
[1] "j"
[1] 3
[1] "j"
[1] 4
...

Есть предложения?Спасибо за вашу помощь.

1 Ответ

6 голосов
/ 12 сентября 2010

Нет ничего плохого в поведении цикла.

i = 1 // Beginning of your code, you're initializing i, changing its value to 1
j = 1 // ... initializing j as well.
while(i<5){   // looping while i < 5
 print("i")
 print(i)
 i = i + 1    // incrementing i
 while(j<5){  // looping while j is < 5
  print("j")
  print(j)
  j = j + 1   // incrementing j
 }
}

Теперь подумайте немного больше о своем коде.

То, что вы хотите, это ваш второй while цикл, который фактически будет повторяться 4 раза для каждого цикла первого.

То есть вы ожидаете, что значение j будет установлено обратно на 1 внутри области действия первого цикла while, по волшебству? Возможно, вы захотите попробовать сделать это самостоятельно, не так ли?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...