我正在尝试定义一个类“多边形”以及子类型“三角形”和“四元组”。这些应该实现多边形的面积功能。
所以我尝试创建Polygon的实例,但这是行不通的。
class Polygon a where
area :: a -> Float
data Triangle = MkTriangle {
tP1 :: Point,tP2 :: Point,tP3 :: Point}
deriving(Show)
data Quad = MkQuad{
qP1 :: Point,qP2 :: Point,qP3 :: Point,qP4 :: Point}
deriving(Show)
instance Polygon Triangle where
area triangle = 5.0
请注意,area triangle = 5.0
只是调试,而不是实际功能。
尝试编译此错误,出现以下错误:
`area' is not a (visible) method of class `Polygon'
|
57 | area triangle = 5
| ^^^^
Failed,no modules loaded.
您能给我一个解决办法的提示吗?谢谢!