2016-07-22 132 views
-7

我需要遍歷ocaml中的列表列表。我如何遍歷列表的列表比較每個列表中的每個元素爲零?如果元素大於零,則返回false並停止遞歸。OCaml:列表清單

功能必須有簽名: - 「數組」 INT名單列表>布爾

使用請不要告訴我的方式或關鍵字「in」。任何幫助將是偉大的!

+3

你應該告訴我們你到目前爲止所做的一切。這不是免費獲得作業答案的地方。 – camlspotter

+2

使用List.fold和List.forall – s952163

+1

*「請不要使用」array。「或關鍵字」in「顯示我的方式,任何幫助都會很棒!」*:好的。請__向我們展示您迄今爲止所做的工作。 ;-) – Lhooq

回答

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。