我有[2]的清单 我可以在Haskell中使用什么函数来提取2,这样我得到的是Int输出而不是列表?
感谢
答案 0 :(得分:6)
最简单的答案是head函数。
不幸的是,如果列表为空,这将产生运行时错误,所以最好像这样模式匹配:
case [2] of
x:_ -> do something with x
_ -> deal with the fact that the list is empty
答案 1 :(得分:3)
如果您在具有多个值的列表上操作,则没有提到您希望从函数中获得什么样的行为。
如果您只对列表的第一个元素感兴趣,那么当Alex R提到Prelude函数时,“head”可用于获取非空列表的头部。
如果列表可能是空的,如果你想延迟处理它,你可以将结果包装在Maybe类型中,如果列表为空则返回Nothing。
head' :: [a] -> Maybe a
head' [] = Nothing
head' (x:_) = Just x