意外的标记 ";;" ocaml的

eas*_*led 2 regex string ocaml

这可能是愚蠢但我只是没有看到它.这是我的代码

let rec lister old fixed = 
    let paren = Str.regexp "(|)" in 
    match old with
    [] -> []
    | h::t -> if Str.string_match paren h 0 
                 then iter t ((Str.split_delim paren h)@fixed)  
              else  iter t (h::fixed) 
;;

let stl string = 
    let r = Str.regexp " " in 
    let l = lister (Str.split r string) [] 
;;
Run Code Online (Sandbox Code Playgroud)

错误是在最后;; 我得到了意想不到的标记";;".我尝试重做它有点像

let stl string = 
    let l = lister (Str.split (Str.regexp " ") string) [] 
;;
Run Code Online (Sandbox Code Playgroud)

但仍然没有.我不认为列表功能会产生影响,但我还是把它包括在内.思考?

cag*_*ago 7

你有一个不完整的let-in表达式:

let stl string = 
    let r = Str.regexp " " in 
    let l = lister (Str.split r s) [] 
Run Code Online (Sandbox Code Playgroud)

试试这个:

let stl string = 
   let r = Str.regexp " " in 
   lister (Str.split r s) [] 
Run Code Online (Sandbox Code Playgroud)

或者你可以做同等的事情:

let stl string = 
   let r = Str.regexp " " in 
   let l = lister (Str.split r s) [] in
   l
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请查看OCaml文档.