這只是關於OCaml的符號的問題。設置符號OCaml的
我試圖測試功能
let rec add (x : 'a) (l : 'a set) : bool =
begin match l with
| [] -> []
| hd :: rest -> if x = hd then rest else (hd :: (add x rest))
end
我的測試用例是
let test() : bool =
add (3 [1; 2; 4]) = [1; 2; 3; 4]
;; run_test "add 3 [1; 2; 4]" test
我得到一個「這種表達是不是一個函數,不能適用」錯誤
我的符號有問題嗎?
錯誤來自於'(3 [1; 2; 4])',您正在應用'3'到'[1; 2; 4]'。在上下文中,你可能打算將函數'add'應用於參數'3'和'[1; 2; 4]'。你可以用符號'add 3 [1; 2; 4]' –