我在OCaml的一個函數,它應該合併兩個列表:這個表達鍵入「列表,但預計類型的表達式」一
let rec merge (list1, list2) =
match (list1, list2) with
([], []) -> merge (List.tl list1, List.tl list2) :: List.hd list1 :: List.hd list2
|(_, []) -> merge (List.tl list1, list2) :: List.hd list1
|([], _) -> merge (list1, List.tl list2) :: List.hd list2;;
但由於某些原因,編譯器不會讓這樣的代碼通過退出:
Error: This expression has type 'a list but an expression was expected of type 'a The type variable 'a occurs inside 'a list
我該如何指定這些列表'我試圖通過,而不是'一個?