Rust:
ডিবাগ আউটপুট প্রিন্ট করা

কিভাবে:

একটি সাধারণ কিছু মুদ্রণ করতে, println! ব্যবহার করুন। যদি আপনাকে ডিবাগিংয়ের জন্য একটি মান মুদ্রণ করা প্রয়োজন হয়, তখন dbg! সুবিধাজনক হতে পারে।

fn main() {
    let mut vec = vec![1, 2, 3];
    
    // বেসিক মুদ্রণ
    println!("হ্যালো, রাস্টেশিয়ানরা!");

    // `{:?}` ব্যবহার করে println! এর সাথে ডিবাগ ফরম্যাটিং 
    println!("{:?}", vec);

    // `dbg!` এর সাথে ডিবাগ, stderr তে মুদ্রণ করে এবং মান ফেরত দেয়
    dbg!(&vec);

    // `dbg!` ব্যবহার করার পর vec পরিবর্তন 
    vec.push(4);
    dbg!(vec);
}

নমুনা আউটপুট:

হ্যালো, রাস্টেশিয়ানরা!
[1, 2, 3]
[src/main.rs:9] &vec = [
    1,
    2,
    3,
]
[src/main.rs:13] vec = [
    1,
    2,
    3,
    4,
]

গভীর ডাইভ

ডিবাগ আউটপুট মুদ্রণ প্রোগ্রামিংয়ের প্রাথমিক দিনগুলিতে একটি সরল অংশ হিসেবে ছিল। এর সাদাসিদে প্রায়ই সমস্যাগুলি দ্রুত নির্ণয় করার জন্য একে একটি পছন্দনীয় পছন্দে পরিণত করে।

রাস্টে, println! ব্যবহারকারী-বান্ধব বার্তাগুলি প্রদর্শনের জন্য দারুণ। যাদু মূলত dbg! এর সাথে আসে, যা রাস্ট 1.32 এ প্রবর্তিত হয়, এটি কোডে তার অবস্থানটির সাথে মানটি মুদ্রণ করে। এটি স্ট্যান্ডার্ড ত্রুটি (stderr) তে আউটপুট দেয়, তাই এটি স্ট্যান্ডার্ড আউটপুট (stdout) এর সাথে মিশে যাবে না এবং প্রয়োজন হলে আলাদাভাবে পুনঃনির্দেশ করা যেতে পারে।

জটিল ধরণের জন্য, আপনি Debug ট্রেইট অনুকরণ করতে পারেন যা স্বয়ংক্রিয়ভাবে println! এবং dbg! ব্যবহার করে একটি ফরম্যাট তৈরি করে। এটা আপনার স্ট্রাকচার এবং ইনামগুলির উপরে #[derive(Debug)] এনোটেশন করে যা করে।

বিকল্প হিসেবে, যেমন log এবং env_logger মত সঠিক লগারগুলি বিদ্যমান, এবং আপনি যদি আরও নির্দিষ্ট নিয়ন্ত্রণ চান, বিবেচনা করুন gdb অথবা lldb মত ডিবাগার যা rust-gdb অথবা rust-lldb মত ইন্টিগ্রেশনের মাধ্যমে রাস্টের সাথে কাজ করে।

আরও দেখুন

রাস্টের ডিবাগ মুদ্রণ ও ফরম্যাটিং অপশনের বিষয়ে আরও জানতে: