Random
*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.
Loại dữ liệu Random tạo ra số ngẫu nhiên giả và hướng.
Tóm Tắt
Người Tạo
Trả về một máy tạo ngẫu nhiên giả mới bằng cách sử dụng một hạt giống tùy chọn.
Phương Pháp
Trả về một số ngẫu nhiên giả mạo được phân phối đều trên [min, max] .
Trả về một số ngẫu nhiên giả mạo được phân phối đều trên [0, 1] .
Trả về một số ngẫu nhiên giả mạo được phân phối đều trên [min, max] .
Xáo trộn một bảng theo cách đều đặn.
Trả về một vector đơn vị với hướng giả ngẫu.
Trả về một đối tượng Ngẫu nhiên mới với cùng trạng thái như ban đầu.
Người Tạo
new
Trả về một đối tượng mới Random. Nếu bạn không cung cấp tham số seed, Random sử dụng một seed từ một nguồn entropy nội bộ.
Nếu bạn cung cấp một hạt giống, nó phải nằm trong phạm vi [-9007199254740991, 9007199254740991], và Random sẽ làm tròn nó xuống tới số nguyên gần nhất.Vì vậy, hạt giống 0, 0.99 và math.random() tất cả sản xuất các máy phát giống nhau.Nếu bạn cần tạo một hạt giống và lưu nó để lấy lại sau, hãy sử dụng math.random(max) .
Tham Số
Mẫu mã
Tạo một hạt giống giả và sử dụng nó để tạo một máy phát sinh mới Random.
local max = 2147483647 -- sử dụng một số lẻ lớn
local seed = math.random(max)
local generator = Random.new(seed)
Phương Pháp
Shuffle
Xáo trộn đều phần mảng của tb trong chỗ bằng cách sử dụng NextInteger để chọn chỉ mục.Nếu có bất kỳ nil "hố" nào trong phần mảng của bảng, Shuffle ném lỗi, vì xáo trộn có thể thay đổi chiều dài.
Phần hash của tb bị bỏ qua. Không có metamethods của tb được gọi.
Hỗn loạn được định nghĩa là một hỗn loạn Fisher-Yates nên số lượng NextInteger cuộc gọi được đảm bảo là nhất quán giữa các phiên bản động cơ cho một kích thước bảng nhất định.