尝试编译以下代码段时:
type 'a frame = Empty | Frame of string * 'a * 'a frame
let rec searchFrame f s = match f with
| Empty -> None
| Frame(x, val, fr) -> if x == s then
Some(val)
else
searchFrame fr s;;
我在第二个匹配案例中收到错误Error: Syntax error: pattern expected.
,对应val
。我无法弄清楚我在这里做错了什么:基本上val
应该对应于'a
类型的值,但我要求我放置一个模式。我该如何解决这个问题?
答案 0 :(得分:6)
val
是一个Ocaml关键字 - 例如,只需将val
改为v
即可修改您的代码。