如果 SomeType 定义为:
data SomeType = X {myBool :: Bool}
| Y {myString :: String}
| Z {myString :: String}
我将根据他的类型更新任意 X,如下所示:
changeST :: SomeType -> SomeType
changeST (X b) = (X True)
changeST (Y s) = (Y "newString")
changeST (Z s) = (Z "newString")
第三和第四行的作用相同,它们更新给定类型的字符串。有没有办法用一条替换这两行,例如。通过将类型分配给变量?