此代码根据要求中的约束检查给定密码是否有效
import Data.Char
strong :: String -> Bool
strong password = all ($ password) requirements
where requirements = [minLength 15, any isUpper, any isLower, any isDigit]
minLength n str = n <= length str
Run Code Online (Sandbox Code Playgroud) 我有一个代码片段,如下所示
displayAge :: Show a => Maybe a -> IO ()
displayAge maybeAge =
case maybeAge of
Nothing -> putStrLn "Invalid year"
Just maybeAge -> putStrLn $ show maybeAge
Run Code Online (Sandbox Code Playgroud)
该函数从控制台获取其参数,并通过readMay函数传递给它,如下所示;
main = do
putStrLn "Your birth year"
strYear <- getLine
let maybeAge = do
intYear <- readMay strYear
return (processYear intYear)
displayAge maybeAge
Run Code Online (Sandbox Code Playgroud)
你能解释一下这个displayAge函数的类型声明吗?为什么Show a用?