Я выполняю код, а затем ожидаю где-то между 1 секундой и 1 минутой. В настоящее время я использую random 0:01:00 /seed
, но мне действительно нужно уметь устанавливать пол таким образом, чтобы его ожидания составляли от 30 секунд до 1 минуты.Как установить минимальное случайное число в REBOL?
ответ
Если вы хотите 0: 0: 30 быть минимальный и 0: 1: 0, чтобы быть максимально, попробуйте формулу:
0:0:29 + random 0:0:31
Эта формула дает «дискретно распределенное (псевдо) случайное значение». Если вы хотите «непрерывно распределенную (псевдо) случайные значения», вы можете использовать (только в R3) по формуле:
0:0:30 + random 30.0
R2 не имеет нативную поддержку «непрерывно распределенных (псевдо) случайных величин».
не моя область знаний, но:
00:00:30 + to time! (random 100% * (to integer! 00:00:30))
... кажется, работает, как мне кажется.
>>random/seed now/precise
>> t1: now wait 30 + random 30 difference now t1
== 0:00:39
Как о следующем:
0:00:30 + random 0:00:30
Вы можете сгенерировать целое число от 1 до 30 и вычесть это число в секундах от 1 минуты до 1 секунды. (и о посеве, используйте это, но не постоянно)
Это неверно, на самом деле минимум должен составлять 31 секунду, а не 30 секунд. – Ladislav
Это довольно круто. Но если разрешены такие лузово-гусиные смысловые вещи, то почему нельзя умножать проценты и время? Не составляет 50% минуты 30 секунд? Я разбиваю такую проблему, рассматривая сначала как случайный процент, и я думаю, что это действительно так. – HostileFork