0
我有一個任務來創建map_reverse函數。Ocaml反向和地圖
let rec map_rev func = function
[] -> []
| h::t -> map_rev func t @ func h;;
let f x = x * 7;;
open Printf
let a = map_rev f [1;2;10;20;400]
let() = List.iter (printf "%d ") a
現在,編譯器將不允許該行:
let a = map_rev f [1;2;10;20;400]
因爲:
'This expression has type 'a * 'b but an expression was expected of type 'c -> 'd list'.
誰能指出我的錯誤?爲什麼期望'c - >'d列表?
+1不只是給出答案。自從Mooc問世以來,我預計會有很多OCaml問題......人們可能會來這裏,通過讓他們的問題得到所有答案來破壞他人的教育體驗。 –
謝謝。顯然,我同意,僅僅爲學習語言的人提供工作代碼並不是特別有用。提示和後續問題更有用。 –