gpt4 book ai didi

function - 如何检查函数是否返回常规值或调用错误?

转载 作者:行者123 更新时间:2023-12-03 07:45:17 25 4
gpt4 key购买 nike

我得到一些代码,例如:

setA :: Integer -> Integer
setA 3 = 5
setA 5 = 6
setA 7 = error "some error one"
setA _ = error "some error two"

现在我尝试编写另一个函数
checkError :: Integer -> Bool
checkError x = if HERE_TO_CHECK_IF setA x RETURNS some error two
then False
else True

但是我该怎么办呢?

谢谢

最佳答案

正如其他答案中已经说过的那样,您应该避免使用error,而应使用

setA :: Integer -> Either String Integer
setA 3 = Right 5
setA 5 = Right 6
setA 7 = Left "some error one"
setA _ = Left "some error two"

checkError :: Either String Integer -> Bool
checkError (Left _) = False
checkError (Right _) = True

但是,如果您无法执行此操作,请查看 the source codespoon package,以了解您的教授要求的操作。好恶心

那你可以说
checkError :: Integer -> Bool
checkError x = case teaspoon x of
Nothing -> False
Just _ -> True

关于function - 如何检查函数是否返回常规值或调用错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16295859/

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