根据我的理解,我可以在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来应用比较吗?或者直接使用比较运算符作为元组的第一个元素?
答案 0 :(得分:8)
val
是OCaml中的保留关键字,因此您不能将其用作变量名。如果您使用其他内容而非val
,则可以使用。
作为旁注:if condition then true else false
相当于condition
。