Я хочу сгенерировать N случайных чисел между диапазоном с использованием randomR.Генерировать N случайных чисел, используя randomR
Я знаю, что есть и другие способы, чтобы выполнить эту задачу, такие как использование randomRs
и с N, как в этом коде, который можно найти here:
diff_select :: Int -> Int -> StdGen -> [Int]
diff_select n m = take n . nub . randomRs (1, m)
, но я хочу сделать это с помощью randomR
и с помощью State
Монада. Я не знаю, где я заблуждаюсь с этим кодом:
let fs = \s -> (randomR (0, 5) s, s)
let theState s = state (fs s)
let rep n ma = replicateM n (theState ma)
let res = runState (rep 3) (mkStdGen 4) -- Would like to use `get`
Как я могу это сделать?
Какое сообщение об ошибке вы получаете? Я знаю, что вы его получите, но при задании вопроса всегда следует публиковать любые ошибки, связанные с вашим кодом. – bheklilr
Больше, чем ошибка, так как я думаю, что мой подход неверен, я просто хочу знать, как выполнить то, что я притворяюсь. – OneEyeQuestion