gpt4 book ai didi

haskell 检查用户输入错误

转载 作者:行者123 更新时间:2023-12-02 14:27:19 25 4
gpt4 key购买 nike

我正在用haskell编写应用程序,我想知道这是检查用户输入是否正确的最佳方法,例如当我要求int时它是int还是当要求格式正确的日期时它是日期?

感谢帮助

最佳答案

使用maybeRead。该函数是一个候选函数包含在 Haskell 库中,但它还没有出现在然而。因此请包含它的代码。这是一个完整的解决方案:

import Data.Time
import Data.Maybe (listToMaybe)
import System.IO (hSetBuffering, BufferMode(NoBuffering), stdout)<p></p>

<p>main = do
hSetBuffering stdout NoBuffering
putStr "Enter an Int: "
maybeInt <- fmap maybeRead getLine :: IO (Maybe Int)
maybe (putStrLn "That's not an Int!")
(putStrLn . ("The Int is " ++) . show)
maybeInt
putStr "Enter a date: "
maybeDate <- fmap maybeRead getLine :: IO (Maybe Day)
maybe (putStrLn "That's not a date!")
(putStrLn . ("The date is " ++) . show)
maybeDate</p>

<p>maybeRead :: Read a => String -> Maybe a
maybeRead = fmap fst . listToMaybe . filter (null . snd) . reads
</p>

关于haskell 检查用户输入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2931557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com