Восстановление случайной последовательности (Ruby)

программирование ruby

У меня есть несколько наборов данных, сгенерированных при помощи rand. Я не хочу хранить их в памяти (и где-либо ещё) постоянно. Я предполагаю, что раз rand генерирует псевдослучайную последовательность из некоторого зерна (ну или как стоит переводить seed?), можно как-то это использовать - вместо наборов данных запоминать само это зерно. Но как это можно реализовать?
Для начала, как достать само зерно, которое сейчас используется? (Можно, конечно, давать своё число для первой генерации, но, наверное, автоматический вызов srand будет работать лучше)
Дальше, как, задав нужное зерно, получить не первый - и далее по очереди - элемент последовательности, а тот, который нужно? И при этом можно было и дальше генерировать данные, как если бы мы это делали сразу.
И наконец, имеет ли смысл иметь две рэндомные последовательности и переключаться между ними, если у нас есть случайные данные, которые нужно запомнить и восстановить, и случайные данные, которые нам можно и забыть?

Примечание:
Ну, причина, может, слишком тривиальна, чтобы брать все эти сложности, если подумать - но другого выхода как-то не вижу. Суть в том, что я разрабатываю игру с процедурно генерируемыми уровнями. Большим количеством уровней. И для того, чтобы не хранить все эти уровни в сейв-файле, я думаю хранить только зерно, и восстанавливать их при повторном посещении.
Ответы:
Я соглашусь подумать, только если пойму зачем все эти сложности.
продублируйте в https://groups.google.com/forum/#!forum/ror2ru
там сообщество сильнее и народу больше чем здесь


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.