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

    +172

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    class sImg
    {
       function getRatio()
       {
          $i = ($this->getWidth()) / ($this->getHeight());
          return substr($i,0,4);
          unset($i);
       }
    
    }

    Разбирал заметки в evernotes и обнаружил класс, который добавил туда три года назад с какого-то "образовательного" сайте. Класс создаст превьюшки.
    Особую пикантность добавляет то что методы получения высоты/ширины возвращают результат imagesx и imagesy.

    Запостил: VanSanblch, 16 Октября 2011

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

    • показать все, что скрытоПредложите лучший вариант
      Ответить
    • substr как round - годно ))
      Ответить
      • показать все, что скрытоНет
        Ответить
      • И вот теперь представьте это к примеру на C#.

        return Int32.Parse(i.ToString().Substring(0,4)) ;

        На С++ будет заметно веселее. И что в свою очередь творит пых, туда сюда конвертить, да руки отрывать за это надо. Я еще понимаю питон и его методику работы с числами, но в пыхе-то обычная.
        Ответить
        • питон, напомните, чем особенный?
          Ответить
          • По дефолту работает с большими числами, и хранит вроде как в виде строки.
            Ответить
            • а в пыхе (вспомнил) вообще три внутренних представления каждого скаляра (строка, целое, дробное) - т.е., должно быть, что-то вроде структуры, и каждая операция меняет сразу все представления, а преобразование типа - всего лишь перемещение контекста
              Ответить
            • Насколько я знаю, это не так. Большие числа возникают при переполнении. Там специальный union для хранения чисел: пока они маленькие, хранятся в обычных полях, как только возникает переполнение, происходит переключение на большие числа, используется массив цифр.
              Ответить
              • это точно union, а не структура? потому что для union ну никак не соразмерный, скажем, 8 байт на число и динамичноразмерный байтомассив
                Ответить
                • union {
                      long i;
                      struct {
                          unsigned long length;
                          digit digits[1];
                      } bignum;
                  };

                  http://www.python.org/dev/peps/pep-0237/
                  Ответить
              • Причём в CPython это 32768-ичные или 1073741824-ичные цифры.
                Ответить
            • Бред.
              Ответить
    • Я всегда считал, что ratio не обязательно должно быть целым числом...
      Ответить
      • как следует из названия, оно должно быть рациональным числом
        Ответить
    • показать все, что скрытоvanished
      Ответить
    • Я очень хочу есть и пить, - чуть слышным голосом сказал Он.
      Ответить

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