在haskell中反转列表

时间:2014-03-18 21:24:57

标签: haskell

我尝试使用反向功能编写功能。 我想简单地将列表反转为

reverse' :: [a] -> [a]  
reverse' [] = []  
reverse' (x:xs) = reverse' xs ++ [x] 

但是喜欢 rev [a] =反向[a]

当我在haskell中使用反向功能时

Prelude>[1,2,3]
[3,2,1]

当我尝试使用时:

Prelude>rev [1,2,3]

我得到了: * 异常:2ost.hs:1:1-20:函数rev中的非详尽模式

请帮助,我假设这是一个愚蠢的错误。

好的,我知道: [a]由haskell作为1个元素列表,解决方案是:

rev a = reverse a

1 个答案:

答案 0 :(得分:2)

听起来你只想要reverse函数的较短别名。无论何时你想在Haskell中使用别名,你都可以非常轻松地创建它 - 只需要像rev = reverse这样做。