目前我有一些需要随机列表布尔值的 haskell 代码。目前我正在遵循书中的方法(Learn you a haskell),它是
list = randoms someStdGen :: [Bool]
Run Code Online (Sandbox Code Playgroud)
然而,这对我来说没有好处,因为之前的列表中的 Falses 和 Trues 的数量大致相同。
获取列表的最佳方法是什么,例如,只有大约 1/4 的元素为 True。
我有以下代码
import Data.List
data Card = One
| Two
| Three
| Four
| Five
| Six
| Seven
| Eight
| Nine
| Ten
| J
| Q
| K
| A
deriving (Show, Eq, Ord, Enum)
data Hand = Hand Card Card Card Card Card deriving(Show)
largestCard :: Hand -> Card
largestCard (Hand a b c d e) = One
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试toEnum 3在GHCi中使用时,我得到了Exception: Prelude.Enum.().toEnum: bad argument。如何解决?
最后一个功能只是一个虚拟功能。现在它什么也没做。