2014-03-18 87 views
0

我正在尝试使用反向函数编写函数。 我想简单的反向列表不喜欢haskell中的反向列表

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

但像 转[A] =反转[A]

当我使用反转功能在Haskell

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

当我试图使用:

Prelude>rev [1,2,3] 

我得到了: *例外:2ost.hs:1:1-20:函数转换中的非穷举模式

请帮忙,我假设这是一些愚蠢的错误。

好吧,我知道: [a]并采取哈斯克尔为1元列表中,解决方法是:

rev a = reverse a 
+0

使用'rev = reverse'' – Sibi

回答

2

这听起来像你只是想为reverse功能更短的别名。任何时候你想在Haskell中使用别名,你都可以很容易地创建它 - 只需要做一些类似于rev = reverse的事情。