Random
*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.
Typ danych Random generuje pseudorandomowe liczby i kierunki.
Podsumowanie
Konstruktorzy
Zwraca nowy generator pseudorandomowy za pomocą opcjonalnego nasiona.
Metody
Zwraca pseudorandomową liczbę równomiernie rozłożoną na [min, max] .
Zwraca pseudorandomową liczbę równomiernie rozdzieloną na [0, 1] .
Zwraca pseudorandomową liczbę równomiernie rozdzieloną na [min, max] .
Równomiernie miesza stół na miejscu.
Zwraca wektor jednostek z pseudorandomowym kierunkiem.
Zwraca nowy losowy obiekt z tym samym stanem, co oryginał.
Konstruktorzy
new
Zwraca nowy obiekt Random. Jeśli nie podasz parametru nasiona, Random używa nasiona z zewnętrznego kod źródłowyentropii.
Jeśli dostarczysz nasiono, powinno ono znajdować się w przedziale [-9007199254740991, 9007199254740991], a Random zaokrąży je do najbliższego liczby całkowitej.Więc nasiona 0, 0.99 i math.random() wszystkie wytwarzają identyczne generatory.Jeśli musisz wygenerować nasiono i przechować je na późniejsze odzyskanie, użyj math.random(max).
Parametry
Przykłady kodu
Generates a pseudorandom seed and uses it to create a new Random generator.
local max = 2147483647 -- use a large integer
local seed = math.random(max)
local generator = Random.new(seed)
Metody
Shuffle
Równomiernie przerywa część matrycy tb w miejscu za pomocą NextInteger , aby wybrać indeksy.Jeśli w części tablicy istnieją jakiekolwiek nil "dziury" w matrycy, Shuffle rzuca błąd, ponieważ przesuwanie może zmienić długość.
Ignoruje się część hasha tb i nie uruchamia metod zamiennych tb.
Losowanie jest zdefiniowane jako losowanie Fisher-Yates, więc liczba NextInteger wezwań jest gwarantowana jako konsekwentna między wersjami silnika dla danego rozmiaru tabeli.