Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 检查一个元素是否等于OCaml中列表中的任何元素?_List_Ocaml - Fatal编程技术网

List 检查一个元素是否等于OCaml中列表中的任何元素?

List 检查一个元素是否等于OCaml中列表中的任何元素?,list,ocaml,List,Ocaml,所以我有这个int列表,假设它是 let a = [14, 22, 47] in 我要做的是检查其他标识符是否等于列表中的任何元素。我显然可以做到: if (x = 14 || x = 22 || x = 47) then do something 但这对于更大的列表来说似乎很麻烦。在OCaml中有更简单的方法吗?我知道Python有“in”操作符 $ocaml $ ocaml OCaml version 4.01.0 # List.mem;; - : 'a -> '

所以我有这个int列表,假设它是

let a = [14, 22, 47] in
我要做的是检查其他标识符是否等于列表中的任何元素。我显然可以做到:

if (x = 14 || x = 22 || x = 47) then do something
但这对于更大的列表来说似乎很麻烦。在OCaml中有更简单的方法吗?我知道Python有“in”操作符

$ocaml
$ ocaml
        OCaml version 4.01.0

# List.mem;;
- : 'a -> 'a list -> bool = <fun>
# List.mem 3 [1;2;3];;
- : bool = true
# List.mem 8 [1;2;3];;
- : bool = false
OCaml版本4.01.0 #List.mem;; -:“a->”a列表->布尔= #List.mem3[1;2;3];; -:bool=true #List.mem 8[1;2;3];; -:bool=false

(我建议您通读列表模块中的函数列表。您希望熟悉所有函数。)

就是您要查找的函数。

您还可以创建一个函数,如下所示:

让rec contains element=函数a::c->if(a=元素),然后true else(contains element c)
|[]->false