Я написал функцию для получения пары из [-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
Но когда я собирал его, он показал: Не в области видимости: конструктор данных «State»
Как вы можете видеть, я импортировал Control.Monad.State, то я до сих пор не могу его использовать. – Xie
@Xie Моя ошибка, я обновил свой ответ соответственно – jozefg
Привет, ваш код передал компиляцию, но когда я запустил его, он отображает память. Похоже, что что-то не так с randomList? – Xie