我寫了一個函數從[-10,10]中隨機獲得一對。Haskell:隨機數
import System.Random
main =
do {
s <- randomNumber
; b <- randomNumber
; print (head s,head b)}
randomNumber :: IO [Int]
randomNumber = sequence $ replicate 1 $ randomRIO (-10,10)
現在我想要一個像[(1,2),(2,3),(2,3)]這樣的列表,所有的數字都來自randomNumber。我怎樣才能做到這一點?我不知道如何實現這一點。
我試圖使用狀態來獲得隨機,但不知何故,我不能在我的電腦上使用狀態。 我這樣做:
import System.Random
import Control.Monad.State
randomSt :: (RandomGen g, Random a) => State g a
randomSt = State random
但是,當我編譯它,它表明:在範圍:數據構造「國家」
正如你所看到的,我有進口Control.Monad.State,那麼我仍然無法使用它。 – Xie
@Xie我的錯誤,我已經更新了我的答案 – jozefg
嗨,你的代碼通過了編譯,但是當我運行它時,它顯示內存不足。看起來像randomList有什麼問題嗎? – Xie