Как получить Int из этого типа данных в Haskell? - PullRequest
0 голосов
/ 19 октября 2018

У меня есть следующая декларация для определения количества очков для карт в блэкджеке:

data Score x = Value Int | Blackjack | Bust deriving (Show, Ord, Eq)

, которая при передаче в функцию принимает тип

Score Int

У меня вопрос, есть ли у меняОценка Int, как я могу извлечь Int из него?

Заранее спасибо

1 Ответ

0 голосов
/ 19 октября 2018

То, что вы написали:

data Score x = Value Int | Blackjack | Bust deriving (Show, Ord, Eq)

Определил некоторый тип данных Score a, где вы можете выбрать, какой тип a.Но вы не используете тип a вообще.Итак, давайте попробуем более простой тип:

data Score = Value Int | Blackjack | Bust deriving (Show, Ord, Eq)

Теперь давайте напишем функцию оценки.Я не совсем уверен, что это должно вернуть, поэтому я угадаю, и вы можете изменить это:

score (Value x) = x
score Blackjack = 21
score Bust = 0

Или, может быть, вы могли бы сделать что-то еще с этим:

describe x = case x of
   Value x   -> "You did OK."
   Blackjack -> "You did great!"
   Bust      -> "You were just unlucky."
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...