Замена меток

Добавлено:
07.01.2013 19:50:09
Mikhail235
О том, что метки и, естественно goto плохое решение знают все.
Но вот столкнулся с проблемой, с которой, я уверен, сталкивается большинство:
Вводим какое-то значение, затем проверяем его и в зависимости от правильности либо продолжаем работу, либо возвращаемся с указаниями на повторение ввода. Так вот этот возврат у меня осуществляется через goto, а как решают эту проблему профессионалы.
Спасибо
Re: Замена меток

Добавлено:
07.01.2013 20:07:16
NTFS
Чисто OFF: В самом GoTo нет ничего плохого... профессионал не колеблясь поставит его там, где это упросит код, а ортодокс будет размазывать флаги и постусловия.
Добавлено спустя 1 минуту 2 секунды:
Классический пример - прерывание двойного цикла. Кто скажет, что никогда не ставил там GoTo - пусть бросит в меня камень.
Re: Замена меток

Добавлено:
07.01.2013 20:19:54
Mikhail235
Спасибо, все получилось. В своих рассуждениях не учел break
Re: Замена меток

Добавлено:
07.01.2013 22:03:29
stikriz
NTFS писал(а):Классический пример - прерывание двойного цикла.
У ортодокса есть один метод - raise и потом анализ типа исключения. Если подходить филосовски, то и Continue и Exit - это goto.
Re: Замена меток

Добавлено:
07.01.2013 22:49:33
Padre_Mortius
Чисто OFF: В самом GoTo нет ничего плохого... профессионал не колеблясь поставит его там, где это упросит код, а ортодокс будет размазывать флаги и постусловия.
ага... просто иногда хочется за такие упрощения с goto просто медленно убивать медленно. В 99,5% случаев в pascal можно обойтись без меток. Оставлю 0,5% случаев на редкие извращения.