Доброго времени суток!
Есть действие, возвращающее некоторое значение, нужно выполнить его N раз
и получить список всех возвращенных значений. Пробую создавать список действий
и выполнять его с помощью sequence, но получается медленно и при больших
N не хватает памяти.
Например:
import IO
import System.Random
rollDice :: IO Int
rollDice = getStdRandom $ randomR (1, 6)
rollNDice n | n < 0 = error "Negative sequence length"
| n == 0 = return []
| otherwise = sequence $ take n $ repeat rollDice
если вызвать rollNDice 100000, то случится переполнение стека или подобная ошибка.
Собственно, вопрос в том, как это делать правильно и что плохого в моем примере.
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от ratatosk
Ответ на:
комментарий
от Macil
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Macil
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Macil
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Macil
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Macil
Ответ на:
комментарий
от Macil
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Macil
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум [haskell][Тормоза] (2012)
- Форум [Haskell] Почему такая разница в производительности? (2011)
- Форум Haskell и обработка исключений. (2013)
- Форум Последовательное выполнение (2014)
- Форум подскажите последовательность действий (2010)
- Форум Какова последовательность действий? (2006)
- Форум эффективный менеджмент в действии (2012)
- Форум Bash скрипт - последовательное выполнение (2020)
- Форум Последовательное выполнение скриптов sh (2016)
- Форум Python (pygtk) последовательность выполнения (2012)