匹配元组

时间:2010-06-13 17:28:10

标签: pattern-matching ocaml tuples

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

match b with
  ("<", val) -> if v < val then true else false
  | ("<=", val) -> if v <= val then true else false

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

  

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

     

文件“ocaml.ml”,第41行,字符8-9:   错误:这个'('可能是无与伦比的

参考第一场比赛条款..

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

1 个答案:

答案 0 :(得分:8)

val是OCaml中的保留关键字,因此您不能将其用作变量名。如果您使用其他内容而非val,则可以使用。

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