Как написать программу проверки надежности пароля на Haskell? - PullRequest
0 голосов
/ 07 мая 2020

Я новичок в Haskell, и я нашел несколько упражнений на inte rnet, и одно из них просит написать программу, которая принимает строку и проверяет, имеет ли слово хотя бы 8 символов, 1 верхний регистр буква и 1 ди git. Если это так, возвращается true. Однако я совершенно не знаю, что делать. Я пробовал работать с лямбда-выражениями, но думаю, что это не способ go.

Был бы признателен за помощь, спасибо

1 Ответ

0 голосов
/ 07 мая 2020

Я бы предложил примерно следующее.

import Data.Char

checkPassword :: String -> Bool
checkPassword xs = all (\f -> f xs) [checkOneDigit, checkOneUppercase, checkLength]
    where checkOneDigit xs = (== 1) $ length $ filter isDigit xs
          checkOneUppercase xs = (== 1) $ length $ filter isUpper xs
          checkLength xs = (>= 8) $ length xs
...