let rec createSentence(list) = (
match list with
case [] -> failwith "błędna lista"
| case [_] -> List.hd list
| case [_,_] -> List.hd list ^ createSentence(List.tl list)
| case _ -> List.hd list ^ " " ^ createSentence(List.tl list);;
);;
Ocaml返回语法错误:期望操作符。我不知道该怎么做
OCaml中的模式匹配具有以下语法,
match <expr> with
| <pattern1> -> <action1>
| <pattern2> -> <action2>
...
。
match ["hello"; "world"] with
| [word1; word2] -> print_endline (word1 ^ word2)
| _ -> assert false
另外,注意OCaml中的列表元素用;
分隔我建议阅读OCaml入门或其他OCaml书籍
更新:为了更清楚,OCaml中没有case
关键字,你不应该在模式之前写case
,即,而不是| case []
,只写| []
。