不确定如何使用给定的数据类型

时间:2018-09-27 14:07:00

标签: haskell algebraic-data-types

我正在做一些作业,我必须使用以下定义:

data Ponto = Cartesiano Double Double | Polar Double Double deriving (Show,Eq)

要编写一个计算点到垂直轴的距离的函数,使用上面的数据类型,坐标可以是x和y或r和角度。

您能帮助我了解如何在Haskell中使用这种类型的定义吗?

1 个答案:

答案 0 :(得分:4)

您只需要为可用于该类型的每个数据构造器逐段定义函数:

yourFunction :: Numa a => Ponto -> a
yourFunction (Cartesiano x y) = ...
yourFunction (Polar r th) = ...