У меня есть uuid (например, a3989f5a-1c4b-11e3-8573-0025906a9230), который мне нужно использовать в качестве семени для генерации случайных чисел в ruby on rails.
Каждый раз, когда приходит запрос с указанным uuid, мне нужно сгенерировать та же последовательность случайных чисел. Есть ли какая-то другая такая функция, которую мне здесь не хватает?
Обратите внимание: очень важно, чтобы для данного uuid каждый раз генерировалась одна и та же последовательность случайных чисел.
Я пробовал использовать метод Kernel.srand(), предоставленный ruby, однако он принимает только целые числа.





Что о
srand "a3989f5a-1c4b-11e3-8573-0025906a9230".tr('-', '').to_i(16)
Он будет заполнять Ruby rng из UUID в виде шестнадцатеричного числа после того, как мы удалим тире.
Это правильный ответ. Это работает, потому что UUID — это просто шестнадцатеричное 128-битное число (тире предназначены только для удобочитаемости). Также стоит отметить, что для варианта использования OP
Random.new(seed)может быть полезен для инициализации нескольких RNG, а не для использованияsrandдля заполнения глобального RNG.