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)
|
|
```
|