【发布时间】:2013-02-04 03:14:30
【问题描述】:
这只是一个关于 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]执行此操作
标签: ocaml