将列表转换为int的函数?

时间:2011-09-19 06:05:02

标签: haskell

我有[2]的清单 我可以在Haskell中使用什么函数来提取2,这样我得到的是Int输出而不是列表?

感谢

2 个答案:

答案 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