【问题标题】:Type Constructor equality in OCamlOCaml 中的类型构造函数相等性
【发布时间】:2013-12-01 12:24:46
【问题描述】:

我是 OCaml 的新手。我正在尝试寻找一种方法来检查模式匹配中构造函数类型(联合类型?)的相等性。

类型团队 = 巴西 |韩国;; 类型 tourn = LEAF of team | tourn 的节点 * tourn ;; 让迭代 t d = 匹配 t 节点 ( (LEAF k), (LEAF i) ) 当 k = d -> "是" | _->“不” ;; iter (NODE ((LEAF KOREA), (LEAF BRAZIL)) KOREA (* 返回 "No" *)

【问题讨论】:

  • 仔细检查您的示例。您的代码缺少一个右括号。固定代码返回“是”。
  • 谢谢,这是一个非常愚蠢的错误。

标签: constructor pattern-matching ocaml equality


【解决方案1】:

它工作正常,但你测试错了。如果你再看最后一行,你会发现) 不见了。

 # iter (NODE (LEAF KOREA, LEAF BRAZIL)) KOREA ;;
 - : string = "Yes"

【讨论】:

    猜你喜欢
    • 2012-09-22
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 2016-01-07
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    相关资源
    最近更新 更多