摘要:
今天又继续多年没看的haskell了想起之前看书时候提到的foldr可以用于无穷序列,而foldl不行。一般情况下foldl效率比foldr高。之前一直没怎么理解。myfoldl f z [] = zmyfoldl f z (x:xs) = myfoldl f (f z x) xsmyfoldr f z [] = zmyfoldr f z (x:xs) = f x (myfoldr f z xs)自己实现了一下,明显就可以看出myfoldl是一个尾递归,所以效率高myfoldr在某些运算,比如and 运算,在x为false就可以结束了。所以在某种情况下myfoldr可以用于无穷序列 阅读全文
posted @ 2012-09-21 18:54 1957 阅读(1943) 评论(0) 推荐(0) 编辑