1. Python / Говнокод #12273

    −90

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    def getEML(self):
            for i in self.__mandatory_headers:
                if i not in self.__headers:
                    return None
            return '{}\r\n\r\n{}'.format('\r\n'.join(['{}: {}'.format(k, v) for k, v in self.__headers.iteritems()]), self.__body)

    Наверное, надо подумать, как переписать в виде лямбды для пущего эффекта

    Запостил: Miketsukami, 12 Декабря 2012

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

    • lambda self: None if frozenset(self.__mandatory_headers).difference(frozenset(self.__headers)) else (''.join(map('{0[0]}: {0[1]}\r\n'.format, self._headers.iteritems()))+'\r\n{0}'.format(self.__body))


      Вот твоя говнолямбда, наслаждайся. В целях говнооптимизации можно сделать __mandatory_headers иммутабельным множеством заранее.
      Ответить
      • Я обожаю такие Python-pervertions в функциональном стиле. Это все умерший во мне хаскеллист.
        Ответить
        • >умерший во мне хаскеллист.
          Надеюсь он не сильно воняет?
          petrosyan.png
          Ответить
      • А зачем frozenset?
        Ответить
        • А почему бы и нет, если это множество все равно меняться не будет?
          Ответить
    • http://tinyurl.com/ce92n7q
      Ответить

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