为什么函数read
在无法解析其参数时终止可执行文件?
在我看来,拥有类型String -> Maybe a
的函数会更方便,如果字符串无法解析为类型Nothing
,则会返回a
,但是我找不到类似的东西。我错过了什么?
答案 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
,它返回一个(可能是空的)已解析值列表,并在其上进行模式匹配。