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