การสร้างตัวเลขสุ่ม

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