Замена меток
				
Добавлено: 
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% случаев на редкие извращения.