【问题标题】:Matching of tuples元组的匹配
【发布时间】:2011-03-03 06:27:57
【问题描述】:

据我了解,我可以在带有值元组的 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 应用比较吗?还是直接使用比较运算符作为元组的第一个元素?

【问题讨论】:

    标签: pattern-matching ocaml tuples


    【解决方案1】:

    val是OCaml中的保留关键字,不能作为变量名使用。如果你用别的东西代替val,它会起作用。

    附带说明:if condition then true else false 等同于 condition

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-11-02
      • 2018-11-09
      • 2020-09-15
      • 2014-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多