【发布时间】:2019-05-31 23:21:33
【问题描述】:
是否可以做一些相当于在数据类型中拥有一个字段,该字段是从该数据类型中的其他字段自动计算出来的。例如:
data Grid = Grid
{ x :: Int
, y :: Int
, c = (x * y) :: Int
}
然后
myGrid = Grid 5 6
或者这必须或只能通过Class来完成?
data Grid = Grid
{ x :: Int
, y :: Int
}
class Calculated a where
c :: a -> Int
instance Calculated Grid where
c g = x g * y g
【问题讨论】:
标签: haskell