Random
*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่
ประเภทข้อมูล Random สร้างหมายเลขและทิศทางแบบสุ่มปลอม
สรุป
วิธีการ
ส่งคืนตัวเลขสุ่มปลอมแบบสม่ำเสมอที่กระจายอยู่บน [min, max]
ส่งคืนหมายเลขสุ่มเทียมที่กระจายอย่างเท่าเทียมกันบน [0, 1]
ส่งคืนหมายเลขสุ่มเทียมที่กระจายอย่างเท่าเทียมกันบน [min, max]
สลับโต๊ะอย่างสม่ำเสมอในสถานที่
คืนเวกเตอร์หน่วยด้วยทิศทางสุ่มเทียม
คืนวัตถุสุ่มใหม่ที่มีสถานะเดียวกับต้นฉบับ
คอนสตรัคเตอร์
new
คืนวัตถุใหม่ Random หากคุณไม่ให้พารามิเตอร์เมล็ด Random แหล่งที่มา
หากคุณให้เมล็ด มันควรอยู่ภายในช่วง [-9007199254740991, 9007199254740991], และ Random จะทำการตัดทอนเป็นจํานวนเต็มที่ใกล้เคียงที่สุดดังนั้นเมล็ดของ 0, 0.99, และ math.random() ทั้งหมดผลิตตัวสร้างที่เหมือนกันหากต้องการสร้างเมล็ดและเก็บไว้สำหรับการดึงในภายหลังใช้ math.random(max)
พารามิเตอร์
ตัวอย่างโค้ด
สร้างเมล็ดปลอมและใช้เพื่อสร้างตัวสร้างใหม่ Random
local max = 2147483647 -- ใช้จํานวนเต็มที่ใหญ่
local seed = math.random(max)
local generator = Random.new(seed)
วิธีการ
Shuffle
สลับส่วนของแอร์ราย์ของ tb ในสถานที่โดยใช้ NextInteger เพื่อเลือกดัชนีหากมีช่องว่างใด ๆ nil ในส่วนของตารางที่เป็นค่าเลขานุการ Shuffle โยนข้อผิดพลาดเนื่องจากการสลับอาจเปลี่ยนความยาว
ส่วนฮาชของ tb จะถูกเพิกเฉย ไม่มี metamethods ของ tb ถูกเรียกใช้
การสลับกำหนดให้เป็นการสลับ Fisher-Yates ดังนั้นจำนวนการโทร NextInteger จะได้รับการรับประกันว่าสอดคล้องกับรุ่นเครื่องยนต์สำหรับขนาดโต๊ะที่กำหนดไว้