Форум: "Потрепаться";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];
Внизwhile<->repeat Найти похожие ветки
← →
Dzmitry (2002-04-19 11:06) [0]хотелось бы узнать, почему большинство программистов предпочитают repeat, а не while
← →
Digitman (2002-04-19 11:08) [1]>Dzmitry
А с чего ты взял, что это так ?
← →
Alx2 (2002-04-19 11:10) [2]Видимо, я в этой классификации в меньшинстве
← →
nest (2002-04-19 11:15) [3]Я Repeat в последний раз использовал 2,5 года назад-на втором курсе на TP7, а потом вообще забыл про такой оператор.
И в чужих исходниках никогда больше не встречал.
← →
nest (2002-04-19 11:15) [4]Я Repeat в последний раз использовал 2,5 года назад-на втором курсе на TP7, а потом вообще забыл про такой оператор.
И в чужих исходниках никогда больше не встречал.
← →
kaif (2002-04-19 11:16) [5]А я вообще никогда не применяю repeat.:((
Наверно, предпочитаю условие цикла видеть в начале его тела...
У меня зрение слабое.
И потом, мне бы больше понравилась конструкция
repeat
while True
а не
repeat
until False
(Это моя личная шиза)
К сожалению, принципы компилятора, видимо не позволяют использовать while в разных смыслах...
← →
Alx2 (2002-04-19 11:23) [6]Но вообще-то все зависит от задачи. Бывает, что больше подходит именно repeat.
← →
VictorT (2002-04-19 11:28) [7]ИМХО, дело не в предпочтении, а в некоторой разнице этих операторов: repeat выполняется как минимум 1 раз, while же может не выполнятся не разу. Правда ещё где-то слышал, что какой-то из этих операторов компилируется в более эффективный код (не знаю, так ли на самом деле).
← →
Виктор Щербаков (2002-04-19 11:28) [8]Alx2 © (19.04.02 11:23)
Согласен. Бывает нужно, чтобы цикл обязательно выполнился один раз. В этом случае repeat удобней.
← →
VV (2002-04-19 11:39) [9]Вообще странный вопрос, это два разных оператора,
в некоторых случаях применять нужно только repeat,
а в других только while
> Согласен. Бывает нужно, чтобы цикл обязательно выполнился
> один раз. В этом случае repeat удобней.
Что значит удобней?
Не удобней, а только его и нужно применять.
← →
dzmitry (2002-04-19 13:53) [10]я вижу, тут пишут только те кто не пользуется repeat
а так, при просмотре многих исходников всречается довольно много ситуаций - здесь лучше применять именно while, то есть программируют в ущерб логике...
а сам я применяю более repeat чем while,
всё равно конференция называется "Потрепаться"
но по-моему это от засилия связки begin<->end...
← →
Андрей Сенченко (2002-04-19 15:05) [11]Честно говоря, насколько я помню посты о циключеской обаботке данных Юрия Зотова ©, Алексея Петрова © и Анатолия ПОдгорецкого © - у них значительно чаще встречается конструкция while.
Лично я предпочитаю Repeat хотя бы потому, что внутри него можно определить - что с выполнимостью условия, в то время как while просто в тихушку не отработает
← →
drpass (2002-04-19 15:07) [12]В Delphi обычно использую while - он просто в большинстве случаев лучше подходит по алгоритму. А вот в TP3-5 любимая комбинация была "repeat until keypressed" :)
← →
PaRL (2002-04-20 21:10) [13]Я вообще использую только while, потому что for требует больше условий(конечное значение), а иногда их нет :)
← →
Anatoly Podgoretsky (2002-04-20 21:15) [14]А зачем их путать, ассоциации проводить, это два разных типа, один с пред, а другой с пост условием, вот и применять надо в зависимости от этого.
← →
Mystic (2002-04-21 00:34) [15]Почти всегда использую repeat until False;
1. Не надо писать begin..end
2. Не надо думать что лучше repeat или while --- пиши if Условие then Break хоть в начале, хлть в конце, хоть в середине.
3. Меньше менять при отладке (часто изменения циклаwhile
приводят кrepeat until False
, особенно если не знаешь чего хочешь)
Поэтому часто получается нечто вроде
repeat
if Условие then Break;
Тело цикла
until False;
Впрочемwhile not Eof(f)
do получается автоматом.
← →
kaif (2002-04-21 00:59) [16]>Лично я предпочитаю Repeat хотя бы потому, что внутри него >можно определить - что с выполнимостью условия, в то время как >while просто в тихушку не отработает
While прекрасно отрабатывает изменение условий.
Кроме break, кстати есть еще и очень мощный оператор continue, позволяющий опять начать цикл, прервав его тело в данном месте.
Так как я вообще очень редко использую циклы, использую, в сосновном while.
Repeat, в соответствии с его назначением, следует использовать если нужен 1 проход, как минимум. Но это довольно редкая ситуация (у меня лично).
← →
Aleks1 (2002-04-21 04:37) [17]Предпочитать что-либо - дело каждого.
Но Анатолий Подгорецкий привел наиболее правильный ответ:
Anatoly Podgoretsky © (20.04.02 21:15)
← →
Song (2002-04-21 10:41) [18]2Mystic © (21.04.02 00:34)
Полностью аналогично, поддерживаю!
Тока у меня есть ещё привычка при работе например с TTreeView, какая-то задача перебрать все ветви. Можно конечно было бы использовать TTreeView.Items.Count, но что-то он мне не катит. Так мне больше нравится:
Repeat
try
IF Node... и т.д.
Node:=Node.GetNext;
except
Break;
end;
Until False;
И тогда: если дерево кончится, сразу же будет сгенерировано исключение, а если нужно выйти из цикла раньше просто можно использовать тихое исключение - Abort
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.006 c