Haskell проблема с доступом к параметрам классов типов - PullRequest
0 голосов
/ 05 февраля 2020

Это простой вопрос, но я просто не смог найти ответ на этот вопрос:

Как получить доступ к параметрам пользовательского типа?

Допустим, мой код такой : (anotherFun c только для того, чтобы помочь мне получить доступ к параметру)

data Shape = (Shape Color [Dimension])

func :: [Shape] -> [Shape]
func (x:xs) = anotherFunc x : func xs

anotherFunc :: [Shape] -> [Shape]
anotherFunc (Shape Color (x:xs)) = <some simple operations>

есть ли что-то похожее на это ??

func ( (Shape Color (x:xs)):shapes )

many thx !!

1 Ответ

1 голос
/ 05 февраля 2020

Есть нечто очень похожее на это.

func ((Shape _ (x:xs)):shapes) = ...

Однако ваш func просто переопределяет map, так что вы можете использовать это и продолжать использовать anotherFunc (который может быть определен локально если вы предпочитаете):

func = map anotherFunc
  where anotherFunc (Shape c ds) = ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...