for(int i<0;i<Array.size;i++)
{
if(Array[i]==0)
count0++;
else if(Array[i]==1)
count1++;
else
System.out.println("not required");
}
这是 java 中的代码。 对于使用模式匹配和递归函数的列表,如何在 OCAML 中编写?我是OCaml的新手。
对于简单的折叠,您不需要使用显式递归。下面是一个维护计数的函数:
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
(如果这是一个家庭作业问题,你应该在询问SO之前尝试自己解决它。