匹配元组

Jac*_*ack 2 ocaml tuples pattern-matching

根据我的理解,我可以在match ... with带有元组值的表达式中使用模式匹配,所以类似于

match b with
  ("<", val) -> if v < val then true else false
  | ("<=", val) -> if v <= val then true else false
Run Code Online (Sandbox Code Playgroud)

应该是正确的,但它给我一个语法错误,就好像无法使用括号:

文件"ocaml.ml",第41行,字符14-17:错误:语法错误:')'预期

文件"ocaml.ml",第41行,字符8-9:错误:这个'('可能是不匹配的

参考第一场比赛条款..

除此之外,我可以避免匹配字符串并使用字符串的eval来应用比较吗?或者直接使用比较运算符作为元组的第一个元素?

sep*_*p2k 8

val是OCaml中的保留关键字,因此您不能将其用作变量名.如果您使用其他东西而不是val,它将起作用.

作为旁注:if condition then true else false相当于condition.