ЙажаСценарий / Говнокод #26277 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
export namespace Ext {
    export function isEmpty(obj: any): boolean {
        return (typeof obj === "undefined" || obj === null || obj === "");
    }
    export function setReadonly(flag: boolean, ...args: any[]): void {
        args.length > 0 ? (flag ? args.forEach(arg => !isEmpty(arg) ? arg.setDisabled(false) : null) :
            args.forEach(arg => !isEmpty(arg) ? arg.setDisabled(true) : null)) : null;
    }
    export function filterInt(value) {
        if (isStrToInt(value))
            return Number(value);
        return NaN;
    }
    export function isStrToInt(value: string): boolean {
        return /^(-|\+)?(\d+|Infinity)$/.test(value) ? true : false;
    }
}

Типичный хелпер на ts проекте

Запостил: m_sandman m_sandman, (Updated )

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

  • export function filterInt(value) {
            if (isStrToInt(value))
                return Number(value);
            return NaN;
        }
        export function isStrToInt(value: string): boolean {
            return /^(-|\+)?(\d+|Infinity)$/.test(value) ? true : false;
        }

    Когда это не аналогично вызову конструктора Number?
    Ответить
    • Когда дробного питуха попытаются пропихнуть. Конструктор намбер вернет число, а это говно - NaN.
      3.14 - это не число!
      Ответить
    • Если представить, что Винни-пух и Пятачок джуны-разработчики, то этот код отсылает нас к эпизоду из одноименного мультика, когда медведь застрял в кроличьей норе. Судя по важности кролика, который воздев к небу перст изрек "Нет, это потому, что кто-то слишком много ест!" становится ясно, что это сеньор...
      Ответить
  • анальные костыли. Выкинуть на помойку, и взять язык со стат типизацией

    Ну либо не выебываться, и писать без нее
    Ответить
  • use feature qw(say);
    
    sub isStrToInt {
        return s/.*/shift/ee && /^[+-]?\d+\z/ || /^Infinity\z/;
    }
    
    say isStrToInt('1234') ? 1 : 0;     # 1
    say isStrToInt('1234.1') ? 1 : 0;   # 0
    say isStrToInt('+1234') ? 1 : 0;    # 1
    say isStrToInt('1e-10') ? 1 : 0;    # 0
    say isStrToInt('Infinity') ? 1 : 0; # 1
    say isStrToInt('') ? 1 : 0;         # 0

    Кручу-верчу, запутать хочу!
    Ответить
    • * чтобы использовать say лучше указать в use версию перла
      * return, кажется, опционален
      Ответить
    • PS: я рад, что ты отказался от неконсистентного мусора типа python, и сделал выбор в пользу нормальных современных ЯП
      Ответить
      • Приведи реальный пример нормального современного ЯП. Я серьёзно.
        Ответить
        • Все языки -- дерьмо. Некоторые дерьмо чуть меньшее.

          Скажем, джава дерьмовее сишарпа
          Пхп дерьмовее любого языка
          Питон, пожалуй, дерьмовее руби, а может и перла
          Ответить
          • Сом керосинки толще.
            Толще лука морской винт.
            Книга толще тетради,
            а тетради толще одной тетради.
            Ответить
            • В Perl нет дурацких преобразований типов
              В Perl не смешали в кучу массив и хеш
              В Perl принято использовать DBI::DBD, а в php мы постоянно слышим про sql инъекции
              В Perl стандартная библиотека не засрана ненужностями
              В Perl многие вещи были сделаны изначально правильно (были неймспейсы, был пакетный менеджер), потому говнокода на нем меньше
              В Perl есть оператор Goatse, а в PHP нету
              Ответить
            • Тем что на нём не каждый может писать.
              Ответить
                • Malbolge вообще лучший язык в мире, на нём просто не существует говнокода.
                  Ответить
                  • Ты скажи, питушок, чё ты хошь, чё ты хошь?
                    Может дам, питушок, чё те надо!
                    Ответить
    • жопа скрипт же, там и целый петух плавает
      Ответить

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

Переведи на "PHP", guest!

    А не использовать ли нам bbcode?


    8