OCaml - 为什么这个声明在与变量名称无关时起作用?

时间:2017-10-07 20:47:25

标签: syntax-error ocaml

我正在尝试编写一个以元组作为参数的函数,如果元组的第二个成员等于1,2或3,则返回true。 通过返回我期望的类型,这样做可以正常工作:

# fun (x, y) -> match (x, y) with
      | (x, (1 | 2 | 3)) -> true
      | (x, _) -> false;;
- : 'a * int -> bool = <fun>

我希望能够通过将函数绑定到变量来实际测试该函数,但是我得到一个语法错误,其中try带有下划线:

# let try = fun (x, y) -> match (x, y) with
    | (x, (1 | 2 | 3)) -> true
    | (x, _) -> false;;
Error: Syntax error

1 个答案:

答案 0 :(得分:2)

try是异常处理中使用的关键字。您需要为您的功能选择另一个名称。