是否有`read`函数的完全替代?

时间:2017-03-05 15:51:03

标签: haskell casting functional-programming

为什么函数read在无法解析其参数时终止可执行文件?

在我看来,拥有类型String -> Maybe a的函数会更方便,如果字符串无法解析为类型Nothing,则会返回a,但是我找不到类似的东西。我错过了什么?

1 个答案:

答案 0 :(得分:23)

您要查找的功能名为readMaybe,并在模块Text.Read中定义:

https://hackage.haskell.org/package/base-4.9.1.0/docs/Text-Read.html#v:readMaybe

自GHC 7.6起可用。在此之前,你必须调用reads,它返回一个(可能是空的)已解析值列表,并在其上进行模式匹配。