Вот. "обычное применение" vs. "введен для того чтобы". Не понял? Ок. Давай я процитирую бо́льший фрагмент для понимания контекста и возьму его из официального русского перевода: Ну? Здесь не написано "зачем введен goto" и даже не написано "goto лучше чем break". Здесь написано как его нельзя использовать и как он обычно используется. А я чо? А ты чо? ))) Ммм, вот в чем профит! Обычно, когда ты что-то куда-то вставляешь, ты отвечаешь за последствия ))) Сдуру то не только break можно сломать.
Давай, я тебе на русский разжеванный переведу. Может какие-то проблемы есть у тебя с этим, хз. "обычное применение" - для чего он обычно применяется. "Обычное применение зубной щетки - чистить зубы". "использование чего-то(1) вместо чего-то(2)" - эта фраза говорит, что мы заменяем (2) и начинаем вместо него использовать (1). В комплексе это значит следующее: оператор goto чаще всего применяется для того, что бы заменить многоуровневый break. Дальше тут следует логическое мышление. Оператора goto не было. Его ввели. И написали "обычно он используется как замена многоуровневому break". Какой можно сделать вывод, дети? Дети отвечают: Оператор goto ввели, ибо многоуровневый break - полный швах. А теперь рассмотрим, что пишете вы. В русском языке "что-то (1) находится где-то, где более уместно что-то(2)" означает, что что-то (1) занимает не свое место. Что, по хорошему, надо бы нам что-то (1) выкинуть, и заменить на что-то (2). Вы утверждаете, что фраза "нужно выкинуть многоуровневый break и поставить goto", и ваша фраза "нужно выкинуть goto и поставить break" - несут одинаковый смысл. Именно это вы высказали, цитирую "конечно, обычно goto используется вместо break, о чем и трендим в предыдущих 2 страницах", я правильно понял? Добавлено спустя 4 минуты 53 секунды: Я, конечно, понимаю, что эта ваша фраза - попытка съехать с темы путем тупейшего троллинга. Но на самом деле - вы правы, отвечаю. И одним из способов "не сломать сдуру", и уж тем более - не дать "сломать сдуру" всяким "супер-программистам пишущим программы с нелинейными алгоритмами" - является использование конструкций, которые сложнее сломать.
Моя претензия, детка, не к твоему мнению. А к подаче как в жолтой прессе: написал "доку читали?" и дальше несешь отсебятину, которая кагбе из авторитетного источника.
Ну если "доку читали" - для вас равноценно желтой прессе, то и правда не о чем говорить с вами Прочитай раз 50, что ли, раз не понял. Никаких ссылок на документацию кроме причины ввода goto там нет. Что бы увидеть "которая кагбе из авторитетного источника" - надо быть или не русским, или не умным. Отсебятину несу, да, во второй половине поста. Могу себе позволить это сказать без всякого ИМХО. Ибо никаких сомнений именно в написанном там у меня нет. Если вас это напрягает - ваши проблемы. Можете попробовать поспорить. Именно по второй половине поста. Но вас вместо этого почему-то так подбомбило, что вы стали нести какую-то откровенную ахинею.
да а вот это ложь! я писал что "обычно goto используется там, где более уместен break". это близко к фразе из доки, но я нигде не говорил, что это цитата оттуда. а насчет нужно/ненужно пару раз написал, что НЕ считаю goto злом, просто не видел примера где бы он реально работал лучше других вариантов. ты же постоянно всё перевираешь. и не стыдно?
Еще раз, мне не трудно. Дока говорит, что break менее уместен, чем goto, в случае выхода из вложенных циклов. Вы правда видите близость? В лучшем случае - эти фразы вообще о разных вещах. В худшем - протеворечат. Хз что там было у вас в голове. Добавлено спустя 1 минуту 49 секунд: Тебе привели пример с отсылкой на документацию. ХЗ что там у тебя заклинило, что кипиш начал.
нужно выкинуть многоуровневый break нужно выкинуть goto а все кто считает иначе, пусть заранее об этом предупреждают, дабы не взрывать нормальным людям мозг дикими конструкциями )
Прочитай старт топика и не неси ахинею. Мне вообще плевать на гото и его важность, я просил помочь отрефакторить код, чтоб знать как обходиться красиво без него. Если для тебя спросить помощи на форуме - равносильно нести ахинею, то тебе могут не помочь языки с динамической типизацией ибо и там сопоставить несопоставимое нельзя.
Для большинства смысл топика перешёл в холивар именно по непониманию сабжа. Никто не разбирался в плохих сторонах goto и в том, что метка в файле может быть всего одна по договорённости и стоять строго в конце каждого файла перед каким-то логическим футером. Подобные договорённости спрош и рядом и не оотсеиваются компиляторами, более того вы их каждый раз используете! Например, писать название класса с большой буквы. Ничего плохого с точки зрения логики программы нет и она будет работать если написать некоторые классы с маленькой, но тогда код для чтения превратиться в кашу похлеще goto меток, разбросаных по файлу. Это только один пример договорённости. Можно убрать из файла отступы и код тк же как с метками превратится в ад. Так же пропадает только читабельность из-за нагромождения меток goto.. Делаем одну метку на весь файл почти в самм конце, и получаем exit, только с отображением футера, как пример. Все накинулись на топик и перевели его в холивар из-за того, что goto просто как красная тряпка для быка. (тупо неизвестный предмет, типа не разбирался, но осуждаю, так как мне так сказали). Блин, вы даже проглядели вопрос топика, что я хочу научиться в процедурной парадигме PHP обходить глубокие ветвления без goto! Добавлено спустя 5 минут 3 секунды: В любоми случае, это не касается темы топика. LA не уменьшается от дробления проекта на бОльшее число файлов. Не знаю, как можно опровергнуть, что диску сложнее обращаться к разным файлам, чем прочитать один. сохранение состояния объектов отличает ООП. 6-ю версию, не трогал, но осуждаю. Так же как и большинство осуждает не разобравшись тему топика! По правде было бы интересно посмотреть востребоване ограничения на версию PHP d продакшне.. Думаю статистика использования и так будет на стороне 5.x версии, но это не показатель.
Например, тем, что в нормально настроенных серверах все будет в памяти (файловый кеш). Так же в большинстве случаев, даже если придется ходить по диску - это не будет узким местом разбитых на части скриптов, т.е. реально рассуждать о "производительности" тут можно лишь в некоторых специфичных случаях. А они и хранят. Код (Text): $a = (object)["a" => 1]; echo $a->a; Напечатает 1. Видишь, хранит состояние. Именно это имеется ввиду про "хранение состояния". А не тот смысл, что вы вложили. Если постараться, можно найти ретроградов с 5.3. Как правило это компании, для которых хостинг - не профильное занятие. Все остальные тянутся за новыми версиями, так что 5.6 найти не проблема.
острить пытаешься как раз ты. я не сравнивал пых с фортраном. я лишь перечислил языки где есть ГОТО. применяя твою логику, все эти языки, получили ГОТО чтобы "обеспечивать легкое вхождение для не умеющих программировать". очевидно что это не так, и причина появления ГОТО в Пыхе - совсем другая.
Применяя мою логику? ))) У тебя не получилось, ты споришь сам с собой. Пыха — особенный язык, со своим особенным комьюнити. Для Пыхи важно иметь низкий порог на входе, а для других нет.
У меня все получилось. Я показал что ты неправ. Каждый язык в чем-то особенный. и каждый хочет иметь низкий порог вхождения. да не всем это удается.