Rust:
डीबग आउटपुट प्रिंट करना
How to: (कैसे करें:)
Rust में debug information को प्रिंट करने के लिए println!
मैक्रो और debug trait {:?}
का इस्तेमाल होता है।
fn main() {
let number = 42;
println!("Debug output: {:?}", number);
}
उपरोक्त कोड का आउटपुट होगा:
Debug output: 42
अगर हमें एक स्ट्रक्चर को प्रिंट करना हो, तो Derive attribute का इस्तेमाल करते हैं:
#[derive(Debug)]
struct Student {
name: String,
grade: char,
}
fn main() {
let student = Student {
name: String::from("Rahul"),
grade: 'A',
};
println!("Student info: {:?}", student);
}
इसका आउटपुट कुछ इस तरह होगा:
Student info: Student { name: "Rahul", grade: 'A' }
Deep Dive (गहराई में जानकारी)
Rust में Debug
trait का परिचय डेवेलपर्स को उनके डेटा को आराम से प्रिंट करने देने के लिए हुआ था। इसे std::fmt मॉड्यूल में परिभाषित किया गया है। कुछ डेटा टाइप्स में Debug
trait पहले से इम्प्लिमेंट हो चुका है, लेकिन यूजर डिफाइंड टाइप्स के लिए #[derive(Debug)]
जोड़ना पड़ता है।
Debug
के बजाय Display
trait का भी इस्तेमाल हो सकता है, जो कि यूज़र-फ्रेंडली आउटपुट देता है, लेकिन उसे मैन्युअली इम्प्लिमेंट करना पड़ता है। {:?}
की जगह {}
का इस्तेमाल करके हम Display
के आउटपुट को प्रिंट कर सकते हैं।
प्रिंटिंग के लिए अन्य टूल्स और लाइब्रेरीज भी हैं जैसे log
क्रेट, जो उच्च स्तरीय लॉगिंग अभियान प्रदान करता है। लेकिन, सिंपल डीबगिंग के लिए println!
और eprintln!
(जो कि STDERR पर प्रिंट करता है) सबसे आम हैं।