2015-02-11 69 views

回答

2

对于简单的折叠,您不需要使用显式递归。下面是保持计数功能:

let count (zeroes, ones) = function 
| 0 -> (zeroes + 1, ones) 
| 1 -> (zeroes, ones + 1) 
| _ -> (zeroes, ones) 

以下是如何将其应用到一个列表:

let count_list l = List.fold_left count (0, 0) l 

(如果这是一个家庭作业的问题,你应该试着问在此之前自行解决)