Я заметил, что вы действительно можете использовать ключевое слово continue
в инструкции switch, но на PHP он не делает того, что я ожидал.Должен ли я когда-либо использовать продолжение внутри оператора switch?
Если это не удается с PHP, кто знает, сколько других языков он терпит неудачу? Если я много переключаюсь между языками, это может быть проблемой, если код не ведет себя так, как я ожидаю, что он будет себя вести.
Должен ли я просто избегать использования continue
в инструкции переключателя?
PHP (5.2.17) не:
for($p = 0; $p < 8; $p++){
switch($p){
case 5:
print"($p)";
continue;
print"*"; // just for testing...
break;
case 6:
print"($p)";
continue;
print"*";
break;
}
print"$p\r\n";
}
/*
Output:
0
1
2
3
4
(5)5
(6)6
7
*/
C++, кажется, работает, как ожидалось (подскакивает до конца цикл):
for(int p = 0; p < 8; p++){
switch(p){
case 5:
cout << "(" << p << ")";
continue;
cout << "*"; // just for testing...
break;
case 6:
cout << "(" << p << ")";
continue;
cout << "*";
break;
}
cout << p << "\r\n";
}
/*
Output:
0
1
2
3
4
(5)(6)7
*/
конец петли? Я бы не стал вызывать оператор switch loop, это расширенный оператор if-else на мой взгляд - и вы вызываете continue в if-else? –
Я не думаю, что это хорошая идея, чтобы попросить общий совет о конструкциях программирования, которые просто называются одинаковыми в разных langauges. Ищите советы для каждого отдельного языка. В конце концов, они разные, все с разными хорошими практиками. Поэтому мой совет будет состоять в том, чтобы использовать продолжение на тех языках, где он работает, и где он считается обычно хорошим делом. – PlasmaHH
@ ZathrusWriter В вопросе говорится, что «конец цикла for», а не «конец цикла». Вопрос 'continue' в вопросе предназначен для перехода в конец цикла' for'. – hvd