OCaml函数使用List模块

时间:2014-04-08 02:04:54

标签: ocaml

我正在尝试实施以下内容:

let list = [1;2;3;4];;

if ((List.exists 3 list) = true)
 print_string "element exists in list\n"

但是它给了我错误:这个表达式有int类型列表        但是预期表达式为'a - >布尔

我不确定这意味着什么。

1 个答案:

答案 0 :(得分:1)

List.exists采用函数和列表,而不是值和列表。要测试值是否在列表中,请使用List.mem

您的if看起来像C语法。在OCaml中,您需要使用then(但您不需要括号)。

作为旁注,if e = true then ...if e then ...相同。如果你为事物使用好名字,后者通常更清楚。