Benim kodunda bu tür bir şey yapıyordu:Belki ile sarmak yerine cebirsel veri türü ile nullary kurucu kullanın?
data MyType = Cons1 a b
data OtherType = OtherType
{ val1 :: Int
, val2 :: String
, val3 :: Maybe MyType
}
ve buna kodu değiştirmeden olurdu acaba kıvrımlara/basit ve artı/eksi ne:
data MyType = Cons1 a b | Missing
data OtherType = OtherType
{ val1 :: Int
, val2 :: String
, val3 :: MyType
}
Yaptığım şey bir dosyadan [OtherType] içine satırları okumaktır, her satırda sütun 3 ve 4'ün val3 :: MyType oluşturmak için kullanıldığını söyleyen 4 sütun vardır. Şu anda, readMaybe'yi a ve b'yi okumak için kullanıyorum ve sonra Onlardan yalnızca biriyse ve sadece b ise bir şey yoksa Hiçbiri mi yoksa Sadece bir tane mi? Bunun yerine Kaybını döndürmek için değiştirebileceğimi düşünüyordum, böylece bir kat sargıyı kaldırarak. hepsi MyType
değerleri Missing
olasılığını olması açısından anlamlı olup olmadığını
OtherType defs sabitlendi – flimbar