допустим, у меня есть следующие циклы:
for(int i=left; i < right; i++) {
for(int j=top; j < bottom; j++) {
if(tilesMap[i][j])
(tilesMap[i][j])->Draw(window) ;
}
}
и
for(int i=left; i < right; i++) {
for(int j=top; j < bottom; j++) {
(tilesMap[i][j])->Draw(window) ;
}
}
Есть ли какой-нибудь способ, которым я могу сделать это "универсальным", то есть, если какое-то логическое значение истинно, я назову первый сегмент кода, если нет, я назову второй сегмент кода.
Я, очевидно, мог бы выполнить тест перед циклом и переходом в правом цикле, но затем я должен продублировать «заголовок» цикла и инструкцию внутри, а также менять его дважды каждый раз, когда я изменяю код внутри цикла. Другое решение состоит в том, чтобы делать тесты внутри lopp на каждой итерации, но это приведет к слишком большому количеству тестов во время выполнения.
Есть ли другой способ сделать это? спасибо
РЕДАКТИРОВАТЬ: это просто вопрос, насколько мне известно, я прекрасно справляюсь с дублированием моего кода на такое небольшое количество