39 lines
1.3 KiB
Markdown
39 lines
1.3 KiB
Markdown
# Библиотека *random*
|
||
|
||
Библиотека функций для генерации случайный чисел.
|
||
|
||
## Недетерминированные числа
|
||
|
||
```lua
|
||
-- Генерирует случайное число в диапазоне [0..1)
|
||
random.random() --> number
|
||
|
||
-- Генерирует случайное целое число в диапазоне [0..n]
|
||
random.random(n) --> number
|
||
|
||
-- Генерирует случайное целое число в диапазоне [a..b]
|
||
random.random(a, b) --> number
|
||
|
||
-- Генерирует случайный массив байт длиной n
|
||
random.bytes(n: number) -> Bytearray
|
||
|
||
-- Генерирует UUID версии 4
|
||
random.uuid() -> str
|
||
```
|
||
|
||
## Псевдослучайные числа
|
||
|
||
Библиотека предоставляет класс Random - генератор с собственным изолированным состоянием.
|
||
|
||
```lua
|
||
local rng = random.Random()
|
||
|
||
-- Используется аналогично math.random
|
||
local a = rng:random() --> [0..1)
|
||
local b = rng:random(10) --> [0..10]
|
||
local c = rng:random(5, 20) --> [5..20]
|
||
|
||
-- Устанавливает состояние генератора для генерации воспроизводимой последовательности случайных чисел
|
||
rng:seed(42)
|
||
```
|