Random 데이터 유형은 가짜 랜덤 숫자와 방향을 생성합니다.
요약
메서드
가짜 랜덤 정수를 균일하게 [min, max] 분산하여 반환합니다.
가상 랜덤 숫자를 균일하게 [0, 1] 분산하여 반환합니다.
가상 랜덤 숫자를 균일하게 [min, max] 분산하여 반환합니다.
테이블을 일괄 처리합니다.
가상 랜덤 방향으로 단위 벡터를 반환합니다.
원래와 동일한 상태의 새 랜덤 개체를 반환합니다.
생성자
new
새로운 Random 개체를 반환합니다. 씨드 매개변수를 제공하지 않으면 Random 내부 엔트로피 소스의 씨드를 사용합니다.
씨앗을 제공하는 경우 범위 [-9007199254740991, 9007199254740991] 내에 있어야 하며, Random는 가장 가까운 정수로 반올림합니다.따라서 0, 0.99, 그리고 math.random()의 모든 씨앗은 동일한 생성기를 생산합니다.씨앗을 생성하고 나중에 검색하기 위해 저장해야 하는 경우 math.random(max)을 사용하십시오.
매개 변수
코드 샘플
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)
메서드
Shuffle
배열 부분을 균일하게 재배열하여 tb 에서 인덱스를 선택하기 위해 NextInteger 를 사용합니다.테이블의 배열 부분에 nil "구멍"이 있으면 Shuffle 셔플링으로 길이가 변경될 수 있기 때문에 오류가 발생합니다.
tb의 해시 부분은 무시됩니다. tb의 메타메소드는 호출되지 않습니다.
셔플은 Fisher-Yates 셔플로 정의되어 특정 크기의 테이블에 대한 엔진 버전 간의 NextInteger 호출 수가 일치하도록 보장됩니다.