Гость Опубликовано 27 февраля, 2003 Жалоба Поделиться Опубликовано 27 февраля, 2003 Privet, please help with this: if [ ! $#argv == 0 ] then goto step0 fi => goto: command not found ! Thank you Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 19 марта, 2003 Жалоба Поделиться Опубликовано 19 марта, 2003 Вообще-то насколько я помню goto уже практически не используется (по этике программированя), к тому же он весьма неудобен. При компиляции возникают нюансы с адресацией, к тому же нафига нужен такой допотопный оператор со статичной привязкой, если можно использовать циклы? Нельзя передать точку управления из следствия then в операнду if т.к. возникает логический парадокс. К тому же метка должна стоять в начале строки А есть он или нет в Линухе я незнаю - сам-то чайник в нём, ObjectPascal знаю, Ц вроде как потихоньку разуметь начинаю. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 19 марта, 2003 Жалоба Поделиться Опубликовано 19 марта, 2003 2 ArcEvil: высказывание правильное в принципе, но не по теме. ОР интересовался наличием goto в shellе -- поскольку в DOSовском "командном процеессоре" развитых структурных конструкций нет и goto является единственным средством организации ветвлений да циклов (я думаю, все поняли, что я имею в виду). Что касается других языков программирования (в частности C) то наличие или отсутствие в них goto вообще говоря с платформой никак не связано. Насчет неудобства goto -- вопрос довольно деликатный. Безусловно, в обычной жизни им пользоваться не след, если есть другие способы. Однако использование goto для выхода из глубоко вложенного цикла с большим числом итераций иногда может оказывать существенное влияние на скорость и т. п. А что вы имели в виду говоря о "нюансах с адресацией" или "статичной привязки"? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 9 апреля, 2003 Жалоба Поделиться Опубликовано 9 апреля, 2003 У вас шел то какой? И почему все не любят goto? Какой то, простите, дурак сболтнул - и все повторяют... Приведите хотябы ОДИН аргумент, почему яне должен юзать GOTO, если мне через него ПРОЩЕ? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 18 апреля, 2003 Жалоба Поделиться Опубликовано 18 апреля, 2003 Ну, например в C++ можно очень легко перепрыгнуть через определение объекта класса, и конструктор не вызовется. А вобще в 90% случаев без goto можно и нужно обходиться. Он затрудняет читаемость кода и вобще выглядит некрасиво. Что значит проще? Приведите пример. Оставшиеся 10% (и даже меньше) - как раз выход из нескольких вложенных циклов (ну редко они встречаются в реальных программах ) и переход к концу функции в низкоуровневых приложениях (в ядре ОС например), где перед return нужно сделать одинаковых действия во всех случаях case, if-then-else и т.п. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 18 апреля, 2003 Жалоба Поделиться Опубликовано 18 апреля, 2003 В Си++ перепрыгнуть через определение нельзя. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 19 апреля, 2003 Жалоба Поделиться Опубликовано 19 апреля, 2003 И правда нельзя Плохо я еще С++ знаю. Но все равно, goto лепить везде подряд - плохо. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость Опубликовано 21 апреля, 2003 Жалоба Поделиться Опубликовано 21 апреля, 2003 Гм. Ну насчет дураков -- это вы, уважаемый, загнули. Если Э. Дейкстра, Н. Вирт, Д. Кнут итп -- дураки, то о нас с вами и говорить нечего. Насчет аргументов против goto -- в приниципе рекомендуется почитать означенных авторов. Но если вкратце -- (непродуманное) использование goto затемняет логику работы программы, затрудяет отладку и профилирование -- в частности, потому что нарушается вложенность базовых блоков. Я уж не говорю о сопровождении. Некрасиво, одним словом. Программировать же по принципу КАК ПРОЩЕ -- это вообще сомнительная концепция. В частности, из нее следует что нужно предпочесть последовательный поиск хэшированию, а сортировку пузырьком -- всем остальным видам сортировки. Я уже говорил, что IMHO единственный случай, где применение goto оправдано -- это выход из глубоко вложенного цикла. (Ну я разумеется не говорю о задачах жесткого реального времени, встроенных системах и тп где важно выжать максимум производительности или написать максимально компактный код) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.