2.5. Generowanie liczb pseudolosowych

Problem

Chcemy generować liczby pseudolosowe, wybierać losowo elementy z pewnej struktury, a także generować w sposób powtarzalny takie same ciągi liczb „losowych” na potrzeby testowania aplikacji.

Rozwiązanie

Metoda Kernel#rand wywołana bez argumentów zwraca (w postaci zmiennopozycyjnej) losową liczbę o rozkładzie jednostajnym z zakresu od 0 do 1.

rand    # => 0.517297883846589
rand    # => 0.946962603814814

Gdy wywołamy tę metodę z liczbą całkowitą n jako pojedynczym argumentem, otrzymamy w wyniku losową liczbę całkowitą z zakresu od 0 do n-1.

rand(5)            # => 0
rand(5)            # => 4
rand(5)            # => 3
rand(1000)         # => 39

Dyskusja

Wywoływanie metody Kernel#rand z pojedynczym argumentem jest użytecznym sposobem ...

Get Ruby. Receptury now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.