我正在尝试制作一个返回随机值的通用函数。我可以让一个为浮点数工作,然后另一个为整数工作......像这样:
randomFloat :: StdGen -> Float-> Float-> (Float, StdGen)
randomFloat rndGen min max = randomR (min, max) rndGen :: (Float, StdGen)
randomInt :: StdGen -> Int-> Int-> (Int, StdGen)
randomInt rndGen min max = randomR (min, max) rndGen :: (Int, StdGen)
但我希望有一个适用于任何相关的变量类型。我该怎么做?到目前为止,我有这个,但这不起作用:
randomNbr :: (Random a) => StdGen -> a -> a -> (a, StdGen)
randomNbr rndGen min max = randomR (min, max) rndGen :: (a, StdGen)