Как получить случайное число в Ruby

Хотя вы можете использовать ruby rand(42-10) + 10 для получения случайного random числа между 10 и 42 (где 10 - включительно, а ruby-on-rails 42 - исключающее), с Ruby random 1.9.3 есть способ лучше, где prng вы можете вызывать:

rand(10...42) # => 13

Доступно rand для всех версий Ruby, если ruby-on-rails-4 требуется мой гем backports.

Ruby 1.9.2 random-numbers также представил класс Random, чтобы rng вы могли создавать свои собственные ruby объекты генератора случайных ruby-on-rails чисел и имел приятный API:

r = Random.new
r.rand(10...42) # => 22
r.bytes(3) # => "rnd"

Сам rails3 класс Random действует как генератор prng случайных чисел, поэтому rand вы вызываете напрямую:

Random.rand(10...42) # => same as rand(10...42)

Примечания к Random.new

В большинстве rails случаев проще всего использовать rails rand или Random.rand. Создавать новый генератор ruby-on-rails случайных чисел каждый раз, когда random-sample вам нужно случайное число, - это rng действительно плохая идея. Если вы сделаете это, вы ruby-on-rails-4 получите случайные свойства ruby алгоритма начального заполнения, которые ruby-on-rails-4 ужасны по сравнению со свойствами ruby random generator itself.

Если вы используете Random.new, вам ror3 следует называть его как можно реже, например, один ror раз как MyApp::Random = Random.new и использовать его random-number везде.

Random.new полезен в следующих random случаях:

  • вы пишете драгоценный камень и не хотите вмешиваться в последовательность rand / Random.rand, на которую могут полагаться основные программы
  • вам нужны отдельные воспроизводимые последовательности случайных чисел (скажем, по одному на поток).
  • вы хотите иметь возможность сохранять и возобновлять воспроизводимую последовательность случайных чисел (просто, как объекты Random можно упорядочить)

ruby-on-rails

ruby

ruby-on-rails-3

ruby-on-rails-4

random

2022-11-01T04:20:46+00:00