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 the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.