На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (32) « Первая ... 15 16 [17] 18 19 ...  31 32  ( Перейти к последнему сообщению )  
> goto vs break & continue , Кроха-сын пришел к отцу и спросила кроха: "goto - это хорошо?"
    Цитата Qraizer @
    Это был прекрасный код конём для взбунтовавшегося ИИ. Типа "коли ты такой умный, ну-ка, исполни break -i, родимый", и делов.
    Да ничего прекрасного. Си'шному коду тоже следовало бы на такое ругаться:
    ExpandedWrap disabled
      int i=3.14;
    Но программисты решили за ИИ вперёд подумать.

    Добавлено
    Цитата Славян @
    Си'шному коду тоже следовало бы на такое ругаться
    О, оказывается по-лёгкому ругается:
    ExpandedWrap disabled
      warning C4244: инициализация: преобразование "float" в "int", возможна потеря данных
      даёшь хардкор:
      ExpandedWrap disabled
        int i = Integer.valueOf(Math.PI);

      и никаких варнингов :whistle:

      правда это не сишки... =(

      Добавлено
      Короче вангую, что первый ИИ, который поработит мир будет на пыхе или джаве :yes: т.к. они умеют всё
        Цитата Serafim @
        Короче вангую, что первый ИИ, который поработит мир будет на пыхе или джаве
        Отвратное вангование. Даю руку на отсечение, что вы заблуждаетесь. ;)
          Почему же? Другие ИИ будут падать на просьбах ответить на вопрос о жизни и всём таком, жава и пых же скастуют его к инту и вернут нормальный числовой ответ без единого варнинга. Так даже в книге Дугласа было.
            Так и си кастует. А ИИ тут каким боком?
              Цитата Serafim @
              Другие ИИ будут падать на просьбах ответить на вопрос о жизни и всём таком, жава и пых же скастуют его к инту и вернут нормальный числовой ответ без единого варнинга.
              Ответов на вопрос о жизни у людей полно всяких, а потому для ИИ это не будет проблемой вообще. Чтобы ИИ мог захватить мир, ему надо как минимум научиться отвечать, что делает конструкция "break -5" в правильно расширенном PHP, а тут даже вы пока ответ не предложили! :scratch:
                Цитата Славян @
                что делает конструкция "break -5" в правильно расширенном PHP
                Фигня вопрос. Даже я могу ответить: идёт в пять циклов вглубь. А вот break -3i куда ведёт, а? Вбок?

                Добавлено
                А вот ещё вопрос на засыпку: что делает конструкция continue 3?
                  Цитата Qraizer @
                  Фигня вопрос. Даже я могу ответить: идёт в пять циклов вглубь.
                  Да я так же предложил, только что-то не смог сразу решить вглубь следующего за строкой цикла или предыдущего?
                  Цитата Qraizer @
                  А вот break -3i куда ведёт, а? Вбок?
                  Да, будет вбок, когда код будет не тупо линейно устроен. Но пока такого нигде нет, а многопоточность только-только начинает в примерно этом направлении работать.
                  Цитата Qraizer @
                  А вот ещё вопрос на засыпку: что делает конструкция continue 3?
                  А что, в PHP есть какие-то попытки реализации "continue N"? Но, в целом, это похоже на конструкцию "break (N-1), continue;"
                    Цитата Славян @
                    "continue N"? Но, в целом, это похоже на конструкцию "break (N-1), continue;"

                    Почему не "пропустить N итераций цикла"? :D
                      Цитата DarkEld3r @
                      Почему не "пропустить N итераций цикла"?
                      Хм... да, возможно. Но подумалось, что "continue 0"=="continue;".
                        DarkEld3r получает плюс. Вариант "продолжить итерации N-го наружу цикла" по аналогии с break N не канает, потому что так неинтересно.
                        Славян, ну всё правильно, 0 – значит никаких итераций не пропускать, просто перейти к следующей.
                          Цитата Qraizer @
                          DarkEld3r получает плюс. Вариант "продолжить итерации N-го наружу цикла" по аналогии с break N не канает, потому что так неинтересно.
                          Славян, ну всё правильно, 0 – значит никаких итераций не пропускать, просто перейти к следующей.
                          Да, согласен с вами обоими. Для продолжения N-го наружу и послужат команды "break N-1,continue".

                          Добавлено
                          Т.е. эта схема:
                          ExpandedWrap disabled
                            for(A;B;C)
                            {
                              P;
                              continue N;
                              Q;
                            }
                          работает так:
                          ExpandedWrap disabled
                            for(A;B;C)
                            {
                              P;
                              C;...;C; continue; // C; - N раз
                              Q;
                            }
                          ? А как работает схема:
                          ExpandedWrap disabled
                            do
                            {
                              P;
                              continue N;
                              Q;
                            }while( A );
                          ? :-?
                            Если честно, goto с меткой перехода куда нагляднее, чем все эти break 3, или continue 2.
                              Цитата amk @
                              Если честно, goto с меткой перехода куда нагляднее, чем все эти break 3, или continue 2.

                              +1
                                Настоящие коммерческие программисты, использующие скрам - не используют goto

                                Добавлено
                                тем более любой алгоритм можно без goto реализовать, более чище и понятнее, чем с ним.

                                Добавлено
                                Например вот это приводилось в пример: goto vs break & continue (сообщение #3188868)
                                Это ради того, чтобы не выносить метку в отдельную функцию или на худой конец замыкание, т.е. ни разу не оправдание сего пагубного поступка, а ведь ещё г-н Макконнел говорил....

                                Добавлено
                                И наконец реализация мульти-континью на пыхе.
                                ExpandedWrap disabled
                                  foreach ($array as $item) {
                                    // пропускаем три шага
                                    foreach (range(1, 3) as $i) { next($array); }
                                  }


                                Смысл в том, что итераторы внутри имеют курсор (ля реализации таких циклов, как for..in, foreach...as, for..of и проч.), а функция next просто его сдвигает на следующий.

                                Добавлено
                                *я подозреваю, что курсоры можно двигать и не только в пыхе, как минимум во всех языках где есть итераторы
                                Сообщение отредактировано: Serafim -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (32) « Первая ... 15 16 [17] 18 19 ...  31 32


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0576 ]   [ 15 queries used ]   [ Generated: 7.05.24, 13:18 GMT ]