Rust:
การสร้างตัวเลขสุ่ม
วิธีการ:
Rust พึ่งพา crates ภายนอกสำหรับการสร้างตัวเลขสุ่ม โดย rand
เป็นตัวที่ใช้บ่อยที่สุด เพื่อเริ่มต้นการสร้างตัวเลขสุ่ม คุณจะต้องเพิ่ม rand
เข้าไปในไฟล์ Cargo.toml
ของคุณก่อน:
[dependencies]
rand = "0.8.5"
หลังจากนั้น คุณสามารถสร้างตัวเลขสุ่มโดยใช้ rand
ในโค้ด Rust ของคุณได้ นี่คือตัวอย่างของการสร้างจำนวนเต็มสุ่มและตัวเลขแบบจุดลอย:
use rand::{Rng, thread_rng};
fn main() {
let mut rng = thread_rng();
// สร้างจำนวนเต็มสุ่มระหว่าง 1 และ 10
let random_int: i32 = rng.gen_range(1..=10);
println!("จำนวนเต็มสุ่ม: {}", random_int);
// สร้างตัวเลขแบบจุดลอยสุ่มระหว่าง 0.0 และ 1.0
let random_float: f64 = rng.gen::<f64>();
println!("จุดลอยสุ่ม: {}", random_float);
}
ผลลัพธ์ตัวอย่างอาจเป็น:
จำนวนเต็มสุ่ม: 7
จุดลอยสุ่ม: 0.9401077112175732
โปรดทราบว่าการรันโปรแกรมใหม่จะทำให้ได้ค่าที่ต่างกัน
การศึกษาลึก
การสร้างตัวเลขสุ่มใน Rust ผ่านทาง rand
และการอยู่หากมาจาก(ไลบรารี่) เช่น getrandom
นำเสนอการแสดงออกที่กว้างขวางของสิ่งอำนวยความสะดวกของระบบปฏิบัติการและตัวกำเนิดอัลกอริธึม ในอดีต ความสุ่มในการคำนวณได้พัฒนามาจากอัลกอริธึมที่ง่ายและคาดเดาได้ไปสู่วิธีการที่ซับซ้อนและมีความปลอดภัยทางการเข้ารหัส Rust ซ่อนรายละเอียดนี้ภายใต้การใช้งาน Rng
trait ที่สามารถสนับสนุนโดยตัวกำเนิดต่างๆ ตามคุณภาพและประสิทธิภาพของความสุ่มที่ต้องการ
สำหรับแอปพลิเคชันส่วนใหญ่ การพึ่งพา rand
และ RNG ของระบบให้ความสมดุลที่ดีระหว่างความง่ายและเอ็นโทรปี อย่างไรก็ตาม สำหรับแอปพลิเคชันเข้ารหัสลับ crates เช่น rand
อาศัย getrandom
สำหรับการหว่านเมล็ดซึ่งใช้กลไกเฉพาะของระบบปฏิบัติการ (เช่น /dev/urandom
บนระบบที่คล้ายกับ Unix) และนั่นทำให้มั่นใจได้ถึงความปลอดภัยทางการเข้ารหัส
ในทางกลับกัน หากคุณมีความต้องการเฉพาะที่ไม่ได้รับการตอบสนองจาก rand
การสำรวจ crates อื่นหรือการใช้อัลกอริธึมสร้างตัวเลขสุ่มแบบกำหนดเองอิงตามโมเดลทางคณิตศาสตร์อาจเป็นทางเลือก อย่างไรก็ตาม สำหรับกรณีการใช้งานส่วนใหญ่ rand
และระบบนิเวศของมันให้โซลูชันที่แข็งแรงซึ่งทั้งมีประสิทธิภาพและง่ายต่อการบูรณาการเข้ากับแอปพลิเคชัน Rust