在ocaml中搜索列表中的元素

时间:2015-04-30 09:54:41

标签: ocaml

(* function for union of two ordered sets*)
let rec search n list1 = match list1 with
    [] -> false
    | head :: tail when head = n -> true
    | head :: tail when head != n -> search n tail
;;

(* function calls and output *)
Printf.printf("\nList = {");;
open Printf
let list1=[3;1;2;4];; (* Input first set here *)
let () = List.iter (printf " %d ") list1;;
printf("}");;

n=2;;
let u = search n list1;;

我收到错误:

File "search.ml", line 15, characters 0-1:
Error: Unbound value n

第15行=> “n = 2的;;”

请告知是否是语法错误或其他可能的补救措施。实现在linux上完成。

2 个答案:

答案 0 :(得分:1)

在OCaml中

使用名称绑定值应使用len name = value语法

答案 1 :(得分:1)

表达式n=2n2进行比较,但n尚未定义,因此您收到错误消息。您应该使用let n = 2将值绑定到名称。