|
|
|
| Подскажите, как можно в процессе выполнения скрипта, перейти на другую его часть. Наподобе goto. Заранее спасибо. | |
|
|
|
|
|
|
|
|
для: root
(25.12.2009 в 17:01)
| | GOTO насколько я знаю появился только в версии 5.3 Мне это не подходит. Надо бы как-то его обойти. | |
|
|
|
|
|
|
|
для: Faatt
(25.12.2009 в 17:04)
| | Вы это никак не обойдёте. Хотя можно написать собственный интерпретатор... | |
|
|
|
|
|
|
|
для: Faatt
(25.12.2009 в 17:04)
| | Вообще, goto - это зло. Можете объяснить в какой ситуации он Вам понадобился? | |
|
|
|
|
|
|
|
для: root
(25.12.2009 в 17:09)
| | goto не зло. Но в языках высокого уровня он не нужен. | |
|
|
|
|
|
|
|
для: Саня
(25.12.2009 в 17:12)
| | Да, скорее так. В MSSQL я таки пользуюсь goto :). | |
|
|
|
|
|
|
|
для: root
(25.12.2009 в 17:09)
| | Я однажды писал такую функцию, которая выставляет по ходу выполнения внутри себя много флагов.
В зависимости от этих флагов надо выполнять разные простые действия, в свою очередь влияющие на различные флаги.
Множество коротких отрезков кода со сложными IF.
GOTO мне явно не хватало. | |
|
|
|
|
|
|
|
для: root
(25.12.2009 в 17:09)
| | А в чем именно заключается зло? А то как-то с аргументацией этого утверждения всегда трудно... | |
|
|
|
|
|
|
|
для: Loki
(25.12.2009 в 20:46)
| | http://khpi-iip.mipk.kharkiv.edu/library/extent/dijkstra/pp/ewd215.html
Почитайте, возможно, что-то для себя найдете в это статье
Статья по программированию старше меня на >20 лет, елки палки..
Но по-моему, отказываться полностью, материться и тд на него не надо, просто нужно знать, когда лучше применить его, либо наоборот, когда лучше его не применять (что-то типа do..while) | |
|
|
|
|
|
|
|
для: neadekvat
(25.12.2009 в 22:24)
| | Мне нужно было это для проверки авторизированности пользователь. Если авторизован, то выводить собственно контент сайта, если нет то выполнять другой код. Использовал до этого if но получалось неуклюже, exit не выводил оставшийся код, вот и решил спросить у вас. Но сейчас проблему решил. Полностью переделываю всю структуру сайта) В очередной раз). Как говорится нет пределу совершенству. Но всё равно всем большое спасибо. | |
|
|
|
|
|
|
|
для: neadekvat
(25.12.2009 в 22:24)
| | Странная статья - сначала какие-то размышления на отвлеченные темы, а потом безо всякой логики и аргументации вдруг заявление что "goto - это плохо". | |
|
|
|
|
|
|
|
для: Loki
(28.12.2009 в 12:48)
| | "Зло" заключается в том, что GOTO провоцирует программиста на плохой код, например, использование GOTO вместо циклов, со скачками в разные части программы. Если использовать GOTO аккуратно - ничего страшного нет, если без дела, то образуются такие кошмарные клубки, которые годами можно распутывать. GOTO было предано анафеме, после того, как было показано, что любые алгоритмы с использованием GOTO можно заменить комбинациями циклов и операторов ветвления. Получается не всегда быстрее, но всегда читабельнее. Собственно больше аргументов нет.
Смысл тот же, что и в отмете register_globals - в общем, если аккуратно программировать, то с ним даже удобнее, но по факту того, что получается в реальной жизни - проще отменить. | |
|
|
|
|
|
|
|
для: Loki
(28.12.2009 в 12:48)
| | Странная статья - сначала какие-то размышления на отвлеченные темы, а потом безо всякой логики и аргументации вдруг заявление что "goto - это плохо".
Знаете, сколько читаю руководства, статьи и т.д. - везде пишут, что goto - плохо. Честно говоря, никогда не использовал goto, и не потому, что это "плохо", а потому, что он мне не нужен. Приспичит - использовать буду. По мне, так разговоры о том, что goto - плохо, являются демагогией. Короче говоря, полностью с Вами согласен. | |
|
|
|
|
|
|
|
для: Commander
(01.01.2010 в 12:47)
| | Хм... ну вообще-то старые программы интенсивно (к месту и не к месту) использующих goto - это та ещё песня - к ним приступиться, то не знаешь как - чуть тронешь, старая логика сыпется. Не совсем это демогогия, если бы goto не мешал и не приводил бы к созданию плохого кода, никто бы вообще на него внимания не обратил бы, как не обращают внимания на другие операторы. | |
|
|
|