現在我正在使用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