尝试编译以下代码片段时:
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
的值,但我被要求放置一个模式。我该如何解决这个问题?
val
是一个Ocaml关键字 - 例如,只需通过更改v
来修改val
即可。