如何检查变量是否已使用构造函数构造?

Ted*_*Guy 3 constructor elm

给定

type Bla = A Int | B Int

valA1 = A 1
valA2 = A 2
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以检查是否valA1已使用的构造函数构造valA2

Cha*_*ert 6

没有通用的比较构造函数的方法,但是您可以轻松地组合自己的函数:

isSameBlaConstructor : Bla -> Bla -> Bool
isSameBlaConstructor x y =
    case (x, y) of
        (A _, A _) -> True
        (B _, B _) -> True
        _ -> False
Run Code Online (Sandbox Code Playgroud)