【发布时间】:2016-11-26 18:06:41
【问题描述】:
let rec funli li k = match li with
| [x] -> if k==1 then Some(x) else None
| x::ll -> funli ll k-1;;
utop 节目 错误:此表达式的类型为 'a 选项,但表达式应为 int 类型
我认为它没有理由期待int。请帮助我了解这段代码中发生了什么。我是 OCaml 的新手。
【问题讨论】:
-
在
x:llarm 中尝试funli ll (k-1)。 -
另外,
k==1是无效的语法。你想要k=1。==不用于测试 OCaml 中的相等性。 -
这不是无效的语法。但不推荐用于整数。
标签: functional-programming ocaml