是否有一种方法来比较自定义类型参数,而不首先将它们转换为整数?



对于表示类型color的代码块,与文档中的代码块相似。

type colour =
| Base
| Shade of colour

假设Shade比Base大一个单位,是否有一种方法可以比较Shade与Base,而无需首先手动将它们转换为整数或浮点数等可比值?

在OCaml中可以比较任意两个相同类型的值

# Base < Shade Base;;
- : bool = true
# 

然而,你的类型是相当奇怪的颜色类型,所以我不确定这实际上回答了你的问题。

(您的类型实际上定义了一个Peano整数,其基值为Base,后继函数为Shade。它看起来不太像一种颜色。

最新更新