OCaml:列表清单

时间:2016-07-22 01:58:12

标签: ocaml

我需要遍历ocaml中的列表列表。如何迭代列表列表,将每个列表的每个元素都比较为零?如果元素大于零,则返回false并停止递归。

函数 必须 具有签名:int list list - >布尔

请不要告诉我使用"数组的方法。"或关键字" in"。任何帮助都会很棒!

1 个答案:

答案 0 :(得分:0)

let all_lte_zero xss = List.for_all (fun xs -> List.for_all (fun x -> x <= 0) xs) xss;;

根据ocaml文档,for_all p [a1; ...; an]检查列表中的所有元素是否满足谓词p。

因此,如果任何元素大于0,则谓词fun x -> x <= 0将评估为false,因此List.for_all将评估为false。