- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人可以提供如何使用“MonadRandom”的“傻瓜”示例吗?
目前我有一些代码可以做一些事情,比如传递生成器变量,从主函数一直到:
main = do
g <- getStdGen
r <- myFunc g
putStrLn "Result is : " ++ show r
--my complicated func
myFunc g x y z = afunc g x y z
afunc g x y z = bfunc g x y
bfunc g x y = cfunc g x
cfunc g x = ret where
(ret, _ ) = randomR (0.0, 1.0) g
最佳答案
基本上所有额外的g
参数可以被删除。然后使用 Control.Monad.Random 中的函数获得随机数(例如 getRandomR
)。这是您的示例(我添加了一些参数以使其编译):
import Control.Monad.Random
main = do
g <- getStdGen
let r = evalRand (myFunc 1 2 3) g :: Double
-- or use runRand if you want to do more random stuff:
-- let (r,g') = runRand (myFunc 1 2 3) g :: (Double,StdGen)
putStrLn $ "Result is : " ++ show r
--my complicated func
myFunc x y z = afunc x y z
afunc x y z = bfunc x y
bfunc x y = cfunc x
cfunc x = do
ret <- getRandomR (0.0,1.0)
return ret
关于haskell - 如何使用 MonadRandom?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9266765/
有人可以提供如何使用“MonadRandom”的“傻瓜”示例吗? 目前我有一些代码可以做一些事情,比如传递生成器变量,从主函数一直到: main = do g <- getStdGen
似乎来自 random-fu 包的 MonadRandom 不是 Functor,因为我收到如下错误: Could not deduce (Functor m) arising from a use
现在我正在使用 MonadRandom 库。我有一个计算: metroChain :: (RandomGen g) => Rand g Double 我想执行多次,然后依次打印出结果。或者更确切地说,
我正在编写一些使用 State 的代码(围绕纸牌策略)和递归在一起。也许这部分实际上并不需要(即使作为一个相对的初学者,它对我来说已经感觉很笨拙),但是还有其他部分可能会这样做,所以我的一般问题是..
我想用给定的均值和标准差对正态分布进行采样。我知道如何在 Data.Random.Rvar 或 Data.Random.MonadRandom 等各种上下文中做到这一点。 但是,我的函数的上下文是 C
下面的简单代码 import Control.Monad import Control.Monad.Random psum :: (MonadRandom r) => Int -> r Double
我希望能够使用 MWC random number generator与 random-fu,因此需要实现 MonadRandom 的实例。我的尝试是将 Reader (Gen (PrimState
我正在尝试使用 https://hackage.haskell.org/package/random-fu-0.2.6.0/docs/Data-Random.html#g:6 中的 MonadRand
class (Eq e, GenExpr e, MonadRandom m) => GenProg m e | e -> m where 确切地说,我无法理解这个GenProg m e | e ->
我是一名优秀的程序员,十分优秀!