Не знаете, как использовать данный тип данных - PullRequest
0 голосов
/ 27 сентября 2018

Я делаю домашнее задание, и мне нужно использовать следующее определение:

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

, чтобы написать функцию, которая вычисляет расстояние от точки до вертикальной оси, координаты могут быть как х иy или r и угол, используя тип данных выше.

Можете ли вы помочь мне понять, как я должен использовать этот тип определения в Haskell?

1 Ответ

0 голосов
/ 27 сентября 2018

Вам просто нужно кусочно определить функцию для каждого конструктора данных, доступного для типа:

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