Rust:
การพิมพ์ผลลัพธ์การแก้ไขโค้ด

วิธีการ:

หากต้องการพิมพ์สิ่งที่ง่ายๆ ให้ใช้ println! หากคุณต้องการพิมพ์ค่าเพื่อการแก้ไขปัญหา dbg! ก็มีประโยชน์

fn main() {
    let mut vec = vec![1, 2, 3];
    
    // การพิมพ์ข้อมูลพื้นฐาน
    println!("Hello, Rustaceans!");

    // การกำหนดรูปแบบการแก้ไขปัญหาด้วย println! โดยใช้ `{:?}`
    println!("{:?}", vec);

    // การแก้ไขปัญหาด้วย `dbg!`, พิมพ์ไปยัง stderr และคืนค่ากลับ
    dbg!(&vec);

    // การแก้ไข vec หลังจากใช้ `dbg!`
    vec.push(4);
    dbg!(vec);
}

ตัวอย่างผลลัพธ์:

Hello, Rustaceans!
[1, 2, 3]
[src/main.rs:9] &vec = [
    1,
    2,
    3,
]
[src/main.rs:13] vec = [
    1,
    2,
    3,
    4,
]

การศึกษาอย่างลึกซึ้ง

การพิมพ์ข้อมูลเพื่อแก้ปัญหาเป็นส่วนหนึ่งที่ตรงไปตรงมาของการเขียนโปรแกรมตั้งแต่ยุคแรกเริ่ม ความเรียบง่ายของมันมักทำให้เป็นตัวเลือกแรกๆ สำหรับการวินิจฉัยปัญหาอย่างรวดเร็ว

ใน Rust, println! เหมาะกับการแสดงข้อความที่เป็นมิตรกับผู้ใช้ ความวิเศษมากับ dbg!, ซึ่งเปิดตัวใน Rust 1.32, ซึ่งพิมพ์ทั้งค่าและตำแหน่งของมันในโค้ด มันส่งออกผ่าน standard error (stderr), จึงไม่จะผสมกับ standard output (stdout) และสามารถเปลี่ยนทิศทางได้แยกต่างหากหากจำเป็น

สำหรับประเภทที่ซับซ้อน, คุณสามารถสืบทอด trait Debug เพื่อสร้างรูปแบบอัตโนมัติที่ println! และ dbg! สามารถใช้ได้ นั่นคือสิ่งที่การประกาศ #[derive(Debug)] ทำเหนือ structs และ enums ของคุณ

ในฐานะทางเลือกอื่น, โปรแกรมบันทึกข้อมูลที่เหมาะสมอย่าง log และ env_logger มีอยู่, และหากคุณต้องการควบคุมในแบบเฉพาะเจาะจง, พิจารณาใช้เดบักเกอร์เช่น gdb หรือ lldb, ซึ่งทำงานกับ Rust ผ่านการรวมเข้าด้วยกันเช่น rust-gdb หรือ rust-lldb

ดูเพิ่มเติม

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับตัวเลือกการพิมพ์และรูปแบบการแก้ไขปัญหาใน Rust: