现在我正在使用MonadRandom库。我有一个计算:多次重复单次计算并打印出结果? (MonadRandom)
metroChain :: (RandomGen g) => Rand g Double
我想多次执行它,并顺序打印结果。或者说,我想创建一些多种计算列表。
做一次,我会用
main = do
result <- evalRandIO metroChain
print result
或
main = evalRandIO metroChain >>= (\result -> print result)
不过,我有很多的麻烦之中,能够打印出的metroChain
任意(N)量结果。
每个结果应该使用最后结果结尾给出的RandomGen ...这就是MonadRandom应该如何工作的,对吗?
我已经看过replicateM
,fmap
,还有一点变成了变形金刚(虽然我承认我似乎无法理解他们足以把握他们的应用到我的问题)。
任何人都可以帮助我实现我正在寻找的功能吗?我觉得我错过了很简单的事情。但我对Haskell来说很新。
你试过'replicateM_'吗? – Landei 2013-05-13 11:37:36
n.b. '(\ result - > print result)'是'print'的复杂方式。 – dave4420 2013-05-13 11:51:44