【发布时间】:2014-08-21 22:42:54
【问题描述】:
我正在尝试创建一个返回随机值的通用函数。我可以让一个为浮点数工作,然后另一个为整数工作......就像这样:
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)
【问题讨论】:
标签: generics haskell functional-programming signature purely-functional