2

これはばかげているかもしれませんが、私にはわかりません。これは私のコードです

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) [] 
;;

エラーは最後にあります;; 予期しないトークン「;;」を取得しています。みたいにちょっと加工してみた

let stl string = 
    let l = lister (Str.split (Str.regexp " ") string) [] 
;;

しかし、まだ何もありません。lister 関数が影響を与えるとは思いませんが、とにかく含めました。考え?

4

1 に答える 1

7

不完全な let-in 式があります:

let stl string = 
    let r = Str.regexp " " in 
    let l = lister (Str.split r s) [] 

これを試して:

let stl string = 
   let r = Str.regexp " " in 
   lister (Str.split r s) [] 

または、同等のことを行うことができます:

let stl string = 
   let r = Str.regexp " " in 
   let l = lister (Str.split r s) [] in
   l

詳細については、 OCaml のドキュメントを確認してください。

于 2012-11-23T16:46:48.333 に答える