1. PHP / Говнокод #1721

    +157

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function doSomething(){
    
      static firstTime = true;
    
      if (firstTime){
        //Этот код исполнится только при первом обращении к функции
      }
    //Этот код будет выполнятся при каждом обращении к функции
    }

    Пример взят из книги (дословно)...

    Запостил: Bartelby, 29 Августа 2009

    Комментарии (7) RSS

    • не знаю пхп, но в С++ бы работало корректно, если бы в блоке 1ого запуска в конце стояло firstTime = false, переменная всё таки ж static....
      Ответить
      • Если бы внутри блока было firstTime = false; то и в PHP работает корректно, но в книге этого нет (я уже молчу, что переменные знаком $ не обозначены)
        Ответить
        • Все корректно. Есть подозрения, что перепечатано неверно. Или не полностью ;)

          function foo() {
          static $_first = true;
          if($_first) {
          // Этот код будет исполнен только в первый раз
          $_first = false;
          }
          // Этот код будет исполняться при каждом вызове функции
          }
          Ответить
          • Говорят, что Леонардо да Винчи специально в свои черновики вносил ошибки, чтобы никто не смог воспроизвести его изобретения, не проведя исследовательской работы.

            А вдруг и в книге ошибки в учебных целях? А вдруг?
            Ответить
    • Такая книга в туалете пригодится, либо переводчику по голове настучать нужно.
      Ответить
      • Может это язык C? Приэтом используется #define function void
        Ответить
        • c таким успехом можно много листингов назвать сишными
          Ответить

    Добавить комментарий