"Pattern expected" 在 OCaml 模式中与变体匹配
"Pattern expected" in OCaml pattern matching with variants
尝试编译以下代码段时:
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 关键字 - 只需通过将 val
更改为 v
来修改您的代码。
尝试编译以下代码段时:
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 关键字 - 只需通过将 val
更改为 v
来修改您的代码。