gpt4 book ai didi

string - haskell-需要整数的字符串

转载 作者:行者123 更新时间:2023-12-03 07:46:42 24 4
gpt4 key购买 nike

我有以下代码

data Ops = Sum Integer | Div Integer | None deriving (Read)

main = do
ans <- getLine
print $ case read ans of
Sum n -> sum n
Div n -> div n

我想向用户显示错误消息以输入错误
Nothing -> "Error"

我知道我不能在这里插入字符串,因此如何实现错误条件

最佳答案

更好的选择是使用readMaybe中的Text.Read:

import Text.Read (readMaybe)

data Ops
= Sum Integer
| Div Integer
| None
deriving (Eq, Show, Read)

main :: IO ()
main = do
ans <- getLine
case readMaybe ans of
Nothing -> putStrLn "Error"
Just x -> print $ handleInput x
where
handleInput (Sum n) = sum n
handleInput (Div n) = div n

这使您可以将错误处理与处理输入的方式分开,从而将其从 IO提取为纯函数

关于string - haskell-需要整数的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27174939/

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