更新用type
作品定义的记录,如与 Haskell 的区别中所述
type PointRec = { x :: Number, y :: Number }
setX :: Number -> PointRec -> PointRec
setX val point = point { x = val }
但是当使用data
(并因此指定构造函数)定义时,它不会:
data PointRec = PointRec { x :: Number, y :: Number }
setX :: Number -> PointRec -> PointRec
setX val point = point { x = val }
我从编译器得到的错误是
Could not match type
和一些细节。
我可以在这里做什么?