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

    +168.6

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?php
    function turn($x)
         {
         $y = abs($x);
         if ($y == $x)    
             return "-$y";    
         else        
             return "$y";    
         }
    ?>

    Функция, возвращающая противоположное значение числа.

    Отсюда - http://php.net/manual/en/function.abs.php#94768

    Запостил: Slasyz, 23 Декабря 2009

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

    • А как надо? ^_^
      Ответить
    • Хорошо хоть без регулярок обошлось ;-)
      Ответить
      • function turn($x)
        {
          $y = $x;
          $y = preg_replace('/^\-(\d+)$/', '$1', $y);
          if ($y != $x) return $y;
          $y = preg_replace('/^(\d+)$/', '-$1', $y);
          return $y;
        }

        Даёшь спецолимпиаду по говнокоду :3
        Ответить
        • Блин, вот что значит на скорую руку. Надо было ereg_replace, регулярку посложнее и if повырвиглазнее (else return ereg_replace...).
          Семён Персунов
          Ответить
        • Видимо комментарии к мануалу пишут как раз "олимпиадники" ))
          Ответить
    • показать все, что скрытоКак полноценная функция - говнокод.
      Но как пример для функции abs() - ничего плохого не вижу.
      Ответить
    • function turn($number)
      {
      return ($number * (-1));
      }
      Ответить
    • На самом деле, в пыхе проканает просто
      return -$number;
      Ответить
      • Спасибо, что сказали, Капитан Очевидность! Без Вас никто бы никогда не додумался.
        Ответить
        • мм, простите? Я вас лично чем-то обидел, или у вас просто день не задался? :)

          В комментах все рекомендовали ($number * (-1)), я показал еще более примитивный способ - вот и всего. И кстати, никому при этом не хамил ))
          Ответить
          • Умножение на минус единицу - это прикол такой, вообще-то. Вы думаете, это они серьёзно?
            Ответить
        • показать все, что скрытоЛуркоёб детектед.
          Ответить
      • я кстати тоже об этом подумал, но поскольку проверить возможности не было... ;)
        Ответить

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