gpt4 book ai didi

haskell - 当我在整数列表上执行 "read"时如何捕获错误?

转载 作者:行者123 更新时间:2023-12-03 14:07:27 26 4
gpt4 key购买 nike

我需要帮助,我必须阅读这样的列表 ["1", "2", "3"]并列出它的整数列表 [1,2,3]所以我使用 read .

问题是,当列表看起来像 ["1", "2", "a"] 时程序退出是因为里面有一个字符的错误。

如何检查或抛出错误以防止此错误?

最佳答案

您应该使用 reads ,不是 read .

Prelude> :m Data.Maybe
Prelude Data.Maybe> (map (fmap fst . listToMaybe . reads) ["1", "2", "3"]) :: [Maybe Integer]
[Just 1,Just 2,Just 3]
Prelude Data.Maybe> (map (fmap fst . listToMaybe . reads) ["1", "2", "a"]) :: [Maybe Integer]
[Just 1,Just 2,Nothing]
Prelude Data.Maybe>

关于haskell - 当我在整数列表上执行 "read"时如何捕获错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6289147/

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