1. Haskell / Говнокод #21818

    −1000

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    sign' ← case sign of
                '-' → return '-'
                '+' → return ' '
                _   → Nothing
      hh ← (readMaybe [sign',h1,h2]) :: Maybe Integer
      mm ← (readMaybe mm) :: Maybe Integer

    Парсим значение со знаком.

    Запостил: CHayT, 11 Декабря 2016

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

    • seo пост
      Ответить
    • :t readMaybe
      Ответить
    • А зачем форсить наличие знака?
      Ответить
      • Такой формат. Говно в том, как обрабатывается знак плюс.
        Ответить
        • Надо так?
          sign' <- case sign of
            '-' -> return (-1)
            '+' -> return 1
            _ -> Nothing
          hh <- (readMaybe [h1, h2]) :: Maybe Integer
          -- multiply by sign later
          > hh
          > mm

          Время чтоли парсится?
          Ответить
        • > Такой формат.
          Поди все три варианта надо обрабатывать (+03:00/-03:00 - относительно чего-нибудь, 03:00 - абсолютное)?
          Ответить
    • Настоящее говно в том, как ошибки обрабатываются ;)
      Ответить
      • Что плохого в Maybe?
        Ответить
        • Удачного дебага, когда парсер вернёт Nothing вместе внятного описания, что пошло не так и где.
          Ответить
          • Для разбора того, почему не распарсилось что-то очень простое, достаточно логов только снаружи (printf "Tried to parse %s but got Nothing") и крупицы логики (или исходного кода). Так что не соглашусь, что это всегда плохо.
            Ответить
            • Если комбинатор используется в одном месте сам по себе -- может и сойдёт. Если его когда-нибудь планируется комбинировать с чем-нибудь (кобенатор же), то уже как-то не очень.
              Ответить
              • Использовал комбинатор тебе на одном месте, проверь.
                Ответить
                • Завернул тебя в замыкание, проверь.
                  Ответить
                  • Завернул вас обоих в продолжение, проверьте.
                    Ответить
                    • Вернул нас троих в монаду, проверь.
                      Ответить
                      • Залифтил монаду в GirlT и вызвал unsafePerformIO, проверь.
                        Ответить
                        • Поверь в мечту, поверь в мечту, поверь в мечту, поверь.
                          Ответить
                          • Счастлив видеть Вас на нашем сайте, Юрий Михайлович! :)
                            Когда-то будучи Вашим фанатом, не могу не въебать вам плюс.
                            Ответить
                            • >>Когда-то будучи Вашим фанатом, не могу не въебать

                              стертор, про тебя Лермонтов стих написал

                              Не води так томно оком,
                              Круглой жопкой не верти,
                              Сладострастьем и пороком
                              Своенравно не шути.
                              Не ходи к чужой постеле
                              И к своей не подпускай,
                              Ни шутя, ни в самом деле
                              Нежных рук не пожимай.
                              Знай, прелестный наш чухонец,
                              Юность долго не блестит!
                              Знай: когда рука господня
                              Разразится над тобой
                              Все, которых ты сегодня
                              Зришь у ног своих с мольбой,
                              Сладкой влагой поцелуя
                              Не уймут тоску твою,
                              Хоть тогда за кончик хуя
                              Ты бы отдал жизнь свою.
                              Ответить
                              • Лермонтов был педерастом - стало быть, его мнение (и твоё, также) автоматически приобретает статус необъективного. Похвала из уст такого "человека" звучала бы хулой.
                                Надо сказать, что голубой поэт очень нелестно отзывался об осетинах: очевидно, он испытывал трудности, ища среди них половых партнёров.
                                Ответить
                          • Поверил в мечту, проверь
                            Ответить
    • haskell сам по себе то ещё дело.
      не говоря уже о том, что можна на нём сотворить.
      Ответить

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