如何从Haskell中的此数据类型检索Int?

时间:2018-10-18 21:30:50

标签: haskell functional-programming

我有以下声明来确定二十一点中的纸牌得分:

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

传递给函数时采用的类型

Score Int

我的问题是,如果我有一个得分积分,如何从中提取积分?

预先感谢

1 个答案:

答案 0 :(得分:3)

你写的是什么

public void dumpPart(part p..) {

if (p.isMimeType("text/html")) {
//store as html body
} else if (p.isMimeType("text/*")) {
// store as text body
} else if (p.isMimeType("multipart/alternative)) {
// get parts in a loop and call dumpPart recursively again
} else if (p.isMimeType("multipart/*")) {
// get parts in a loop and call dumpPart recursively again
} else if (p.isMimeType("rfc..)) {
// 
} else {
//handle unknown mime type

已经定义了一些数据类型class Item(models.Model): vector_repr = models.TextField(..., verbose_name='jsonified vector representation') ... # My current solution: def as_vector(item): return np.asarray(json.loads(item.vector_repr)) item = Item.objects.get(...) item_vect = as_vector(item) def cosine_similarity(other): return np.dot(item_vect, as_vector(other)) db_items = Item.objects.exclude(id=item.id) similar_items = sorted(db_items, key=cosine_similarity) ,您可以在其中选择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)