Math.random (Lua)

Материал из UoPilot
Перейти к навигации Перейти к поиску

Описание

math.random - генерирует псевдослучайное число.
При вызове без аргументов, возвращает псевдослучайное число в интервале (0,1).
При вызове с аргументом m, возвращает псевдослучайное целое число из отрезка (1, m).
При вызове с двумя аргументами – m и n, возвращает псевдослучайное целое число из отрезка (m, n).

Синтаксис

Привязка к окну: нет.
Работа со свернутым окном: да.

math.random ([m [, n]])

Примеры

--lua
math.randomseed(os.clock())
local a = math.random()   -- вернёт число от 0 до 1
log (a)
--lua
math.randomseed(os.clock())
local a = math.random(10)   -- вернёт число от 1 до 10 (включительно)
log (a)
--lua
math.randomseed(os.clock())
local a = math.random(5, 13)   -- вернёт число от 5 до 13 (включительно)
log (a)
--lua
math.randomseed(os.clock())
wait (1000 + math.random (2500))   -- ждать случайное время - от 1001 до 3500 мс
--lua
math.randomseed(os.clock())
local time = os.clock()
wait (500 + math.random (1000))        -- ждать от 500 до 1500 мсек
log (string.format("%.3f", os.clock() - time))   -- вывести в лог сколько прошло времени, результат округлён до 3х знаков после точки
--lua
math.randomseed(os.clock())
local a = math.random (-10, -6)        -- получить отрицательное число от -10 до -6
log (a)
--lua
math.randomseed(os.clock())
local a = math.random (-10, 10)        -- получить число от -10 до 10
log (a)
--lua
-- получить число, чтобы оно не было равно предыдущему (не повторялось)
math.randomseed(os.clock())
log ("clear") log ("mode compact")  -- очистить лог, компактный режим
local x = 0
local xlast = 0

while true do
    while x == xlast do        -- пока переменная x равна переменной xlast (прошлое значение x)
        x = math.random(1, 3)  -- получить число от 1 до 3
    end
    xlast = x                  -- запомнить последнее значение переменной x
    log (x)
    wait (400)
end

Смотрите также

Wait (Lua)
Left (Lua)