我在我的代码中做这种事情:
data MyType = Cons1 a b
data OtherType = OtherType
{ val1 :: Int
, val2 :: String
, val3 :: Maybe MyType
}
我想知道将代码更改为此是否会更简洁/更简单,以及优点/缺点是什么:
data MyType = Cons1 a b | Missing
data OtherType = OtherType
{ val1 :: Int
, val2 :: String
, val3 :: MyType
}
我正在做的是将文件中的行读入 [OtherType],每行有 4 列,例如第 3 列和第 4 列用于创建 val3 :: MyType。目前我正在使用 readMaybe 读取 a 和 b,然后将它们传递给一个函数,如果它们中的任何一个是 Nothing,则返回 Nothing,如果它们是 Just a 和 Just b,则返回 Just MyType。我在想我可以将其更改为返回 Missing ,从而去除一层包装。