2

是否有可以像这样实现的函数的简写 OCaml 表示法:

match e with
  Mycons ( _ ) -> true
  | _ -> false

我一直在思考,typeof(e) == Mycons但我还没有找到任何东西。

4

2 回答 2

6

我经常想要这样的东西,尽管“类型平等”不是一个好名字(恕我直言)。Mycons是一个值构造函数;它代表一个值而不是类型。对于 nullary 构造函数,您可以使用类似的东西((=) None),但除此之外,我还没有找到更简洁的方法来编写它。

于 2013-09-12T17:19:44.063 回答
4

有一个更短的符号:

let isMycons a = function | Mycons(_) -> true | _ -> false

是一个单衬里,像火柴一样优雅。

于 2013-09-12T18:51:20.290 回答