【发布时间】:2013-11-27 16:23:50
【问题描述】:
这是我的代码,我怎么能说 n 在 2..10 之间是 int 的位置
data Rank = Numeric Integer | Jack | Queen | King | Ace
deriving (Eq, Show)
valueRank :: Rank ->Integer
valueRank rank
|rank ==Jack = 10
|rank ==King = 10
|rank ==Queen = 10
|rank ==Ace = 10
|rank == Numeric n = n
where n =[x|x<-[2..10]]
【问题讨论】:
-
[x | x <- [2..10]]返回一个列表,因此在最后一行中,n的类型为[Integer]。您不能在类型级别上真正限制n的范围。您可能只想在它被添加到Numeric之前检查它
标签: haskell