संपूर्ण प्रस्तुति के लिए अपने स्ट्रिंग डेटा को फ़ॉर्मैट करना सीखें।
स्ट्रिंग स्वरूपण प्रोग्रामिंग का एक महत्वपूर्ण पहलू है क्योंकि यह आपको पढ़ने योग्य, संरचित तरीके से डेटा में हेरफेर करने और प्रदर्शित करने देता है। बेहतर उपयोगकर्ता अनुभव के लिए आप स्ट्रिंग्स को फ़ॉर्मेट करके डेटा प्रस्तुति को नियंत्रित कर सकते हैं।
जंग स्ट्रिंग स्वरूपण के लिए एक शक्तिशाली और लचीला तंत्र प्रदान करता है जो आपको संख्यात्मक, दिनांक, समय और त्रुटि से निपटने की कार्यक्षमता सहित स्पष्ट और संक्षिप्त आउटपुट बनाने के लिए सशक्त बनाता है।
जंग में मूल स्ट्रिंग स्वरूपण
जंग अन्य के साथ स्ट्रिंग्स को स्वरूपित करने के लिए कार्यक्षमता प्रदान करता है जंग निर्मित प्रकार.
आप उपयोग कर सकते हैं प्रारूप! जंग में बुनियादी स्ट्रिंग स्वरूपण के लिए मैक्रो। प्रारूप! मैक्रो घुंघराले ब्रेसिज़ में संलग्न प्लेसहोल्डर्स के साथ स्वरूपित स्ट्रिंग्स के निर्माण के लिए एक संक्षिप्त और शक्तिशाली तरीका प्रदान करता है।
fnमुख्य() {
होने देना नाम = "ऐलिस";
होने देना उम्र = 25;
होने देना संदेश = प्रारूप!("मेरा नाम {} है और मेरी उम्र {} साल है।", नाम उम्र);
प्रिंटल!("{}", संदेश);
}
नाम वेरिएबल में एक स्ट्रिंग होती है, और आयु चर एक पूर्णांक रखता है। संदेश वेरिएबल में एक स्वरूपित स्ट्रिंग है जो उपयोग करती है प्रारूप! प्लेसहोल्डर्स को संबंधित मानों से बदलने के लिए, जिसके परिणामस्वरूप एक प्रारूप स्ट्रिंग होती है नाम और आयु.
प्रारूप! मैक्रो विभिन्न स्वरूप निर्दिष्टकर्ताओं का समर्थन करता है जो आपको आउटपुट को नियंत्रित करने की अनुमति देता है।
फ़्लोटिंग-पॉइंट नंबरों के लिए दशमलव स्थानों की संख्या निर्दिष्ट करने, फ़ील्ड की चौड़ाई परिभाषित करने और आउटपुट को संरेखित करने का तरीका यहां बताया गया है।
fnमुख्य() {
होने देना पाई = 3.14159;
होने देना स्वरूपित_पीआई = प्रारूप!("पाई का मान लगभग {:.2} होता है", पाई);
प्रिंटल!("{}", स्वरूपित_पी); // प्रिंट 3.14
}
अनुकरणीय चर एक अस्थायी बिंदु मान रखता है; प्रारूप विनिर्देशक के साथ :.2, आप निर्देश दे सकते हैं प्रारूप! प्रदर्शित करने के लिए मैक्रो अनुकरणीय दो दशमलव स्थानों के साथ।
प्रारूप! मैक्रो जंग के साथ स्ट्रिंग स्वरूपण के कई तरीकों में से एक है। अपनी आवश्यकताओं के आधार पर, का उपयोग करने पर विचार करें प्रिंटल! या लिखना! कंसोल या अन्य आउटपुट स्ट्रीम में स्वरूपित आउटपुट के लिए मैक्रो।
स्वरूपण संख्यात्मक मान
रस्ट पूर्णांकों से लेकर फ्लोट्स और अन्य संख्यात्मक प्रकारों तक विभिन्न संख्यात्मक मानों को स्वरूपित करने के लिए कार्यक्षमता भी प्रदान करता है।
आम तौर पर, प्रारूप विनिर्देशक रस्ट में स्ट्रिंग स्वरूपण की नींव होते हैं, और आपको उस संख्यात्मक मान के आधार पर सही विनिर्देशक की आवश्यकता होगी जिसे आप प्रारूपित करना चाहते हैं।
यहाँ कुछ प्रारूप विनिर्देशक हैं जो रस्ट संख्यात्मक मानों के लिए प्रदान करता है:
संख्यात्मक प्रकार |
फ़ॉर्मेटर |
कार्यक्षमता |
---|---|---|
पूर्णांकों |
%d या %i |
सकारात्मक और नकारात्मक मानों सहित पूर्णांकों को स्वरूपित करता है। |
दशमलव संख्याएं |
%एफ |
अभिन्न और आंशिक भागों सहित फ़्लोटिंग-पॉइंट नंबरों को स्वरूपित करने के लिए उपयुक्त। |
घातीय संकेतन |
%e या %E |
संख्याओं को वैज्ञानिक संकेतन (घातीय रूप) में स्वरूपित करता है। |
ऑक्टल प्रतिनिधित्व |
% ओ |
अष्टक प्रतिनिधित्व (आधार 8) में पूर्णांकों को स्वरूपित करता है। |
हेक्साडेसिमल प्रतिनिधित्व |
%x या %X |
पूर्णांकों को हेक्साडेसिमल प्रतिनिधित्व (आधार 16) में स्वरूपित करता है। |
इसके अतिरिक्त, आप संख्यात्मक मानों के लिए पैडिंग और अलाइनमेंट निर्दिष्ट कर सकते हैं। पैडिंग वांछित चौड़ाई प्राप्त करने के लिए स्वरूपित संख्यात्मक मान में रिक्त स्थान या शून्य जोड़ता है। पैडिंग तालिका के रूप में या अन्य दृष्टिगत रूप से व्यवस्थित लेआउट में प्रस्तुति के लिए मूल्यों को संरेखित करने में मदद करता है। चौड़ाई मान से पहले, आप पैडिंग वर्ण निर्दिष्ट कर सकते हैं, या तो कोई स्थान या शून्य।
किसी मान को बाएँ-संरेखित करने के लिए, का उपयोग करें - झंडा। किसी मान को दाएँ-संरेखित करने के लिए, फ़्लैग को छोड़ दें या शून्य पैडिंग के लिए '0' फ़्लैग का उपयोग करें।
fnमुख्य() {
संख्या = 42
स्वरूपित_संख्या = "% 10d" % संख्या
प्रिंट (स्वरूपित_संख्या)
}
मान 10 वर्णों की चौड़ाई के भीतर दाईं ओर संरेखित है, जिसके परिणामस्वरूप संख्या से पहले आठ प्रमुख रिक्त स्थान हैं।
जंग में कस्टम स्ट्रिंग स्वरूपण
अधिक मांग वाले कार्यों के लिए कस्टम स्ट्रिंग स्वरूपण महत्वपूर्ण है। आप रस्ट के बिल्ट-इन के साथ अपने प्रकारों के लिए कस्टम स्वरूपण कार्यान्वयन बना सकते हैं एसटीडी:: एफएमटी मापांक।
एसटीडी:: एफएमटी मॉड्यूल स्ट्रिंग रूपांतरण प्रक्रिया के दौरान डेटा उपस्थिति को अनुकूलित करने के लिए विकल्पों की एक विस्तृत श्रृंखला के साथ आउटपुट को स्वरूपित करने के लिए लक्षण प्रदान करता है। एसटीडी:: एफएमटी मॉड्यूल प्रदान करता है दिखाना और डिबग विशेषता जो स्ट्रिंग स्वरूपण संचालन के लिए आसान है।
प्रदर्शन विशेषता
दिखाना विशेषता यह परिभाषित करके मानव-पठनीय आउटपुट का उत्पादन करने में मदद करती है कि किसी वस्तु को कैसे स्वरूपित किया जाना चाहिए {} एक स्ट्रिंग में प्लेसहोल्डर। आप लागू कर सकते हैं दिखाना आपके लिए विशेषता कस्टम प्रकार नामक विधि को परिभाषित करके fmt यह एक फॉर्मेटर को एक तर्क के रूप में लेता है।
फॉर्मेट आउटपुट को नियंत्रित करने के लिए फॉर्मेटर विभिन्न तरीके प्रदान करता है, जैसे लिखें_str और write_fmt तरीके।
उपयोग एसटीडी:: एफएमटी;
// `प्वाइंट` नाम की एक संरचना को परिभाषित करें
structबिंदु {
एक्स: i32,
वाई: i32,
}// `प्वाइंट` के लिए `डिस्प्ले` विशेषता लागू करें
प्रत्यय एफएमटी:: प्रदर्शन के लिए बिंदु {
fnfmt(&खुद, एफ: &मुठ fmt:: फ़ॉर्मेटर<'_>) -> एफएमटी ::परिणाम {
// `प्वाइंट` संरचना को "(x, y)" के रूप में प्रारूपित करें
लिखना!(एफ, "({}, {})", खुद।एक्स, खुद.वाई)
}
}fnमुख्य() {
// एक नया 'प्वाइंट' उदाहरण बनाएं
होने देना बिंदु = बिंदु { x: 5, वाई: 10 };
// `प्रदर्शन` स्वरूपण का उपयोग करके `प्वाइंट` संरचना को प्रिंट करें
प्रिंटल!("बात यह है: {}", बिंदु);
}
बिंदु संरचना लागू करता है दिखाना प्रवृत्ति। के अंदर fmt विधि, द लिखना! मैक्रो प्रारूप और वांछित आउटपुट को फॉर्मेटर के साथ लिखें {} प्लेसहोल्डर।
डिबग विशेषता
डिबग गुण के समान है दिखाना विशेषता, सिवाय इसके कि यह डिबगिंग के लिए उपयुक्त आउटपुट तैयार करने पर केंद्रित है और त्रुटि प्रबंधन उद्देश्यों। डिबग विशेषता के साथ मुख्य रूप से प्रयोग किया जाता है {:?} प्लेसहोल्डर।
कार्यान्वित कर रहा है डिबग आपके कस्टम प्रकारों पर विशेषता सीधी है। डिबग विशेषता के आधार पर एक डिफ़ॉल्ट कार्यान्वयन प्रदान करता है दिखाना प्रवृत्ति। हालांकि, आप विशेष डिबगिंग प्रतिनिधित्व प्रदान करने के लिए डिफ़ॉल्ट व्यवहार को ओवरराइड कर सकते हैं।
उपयोग एसटीडी:: एफएमटी;
// `व्यक्ति` नामक संरचना को परिभाषित करें
#[व्युत्पन्न (डीबग)]
structव्यक्ति {
नाम: डोरी,
आयु: यू32,
}// `व्यक्ति` के लिए `डिस्प्ले` विशेषता लागू करें
प्रत्यय एफएमटी:: प्रदर्शन के लिए व्यक्ति {
fnfmt(&खुद, एफ: &मुठ fmt:: Formatter) -> fmt::परिणाम {
// मानव-पठनीय स्ट्रिंग के रूप में `व्यक्ति` संरचना को प्रारूपित करें
लिखना!(एफ, "नाम उम्र: {}", खुद।नाम, खुद।आयु)
}
}fnमुख्य() {
// एक नया `व्यक्ति` उदाहरण बनाएँ
होने देना व्यक्ति = व्यक्ति {
नाम: डोरी::से("ऐलिस"),
आयु: 30,
};// `प्रदर्शन` स्वरूपण का उपयोग करके `व्यक्ति` संरचना को प्रिंट करें
प्रिंटल!("दिखाना: {}", व्यक्ति);
// `डीबग` स्वरूपण का उपयोग करके `व्यक्ति` संरचना को प्रिंट करें
प्रिंटल!("डीबग: {:?}", व्यक्ति);
}
कार्यक्रम की व्युत्पत्ति करता है डिबग के लिए विशेषता व्यक्ति साथ संरचना #[व्युत्पन्न (डीबग)]. यह स्वचालित रूप से संरचना क्षेत्रों के आधार पर कार्यान्वयन उत्पन्न करता है।
Println मैक्रो डिबगिंग प्रतिनिधित्व को प्रिंट करता है डिबग का उपयोग कर आउटपुट को स्वरूपित करने के लिए स्वरूपण प्लेसहोल्डर डिबग कार्यान्वयन।
रस्ट में फीचर से भरपूर टाइप सिस्टम है
रस्ट का समृद्ध प्रकार सिस्टम स्ट्रिंग स्वरूपण में महत्वपूर्ण भूमिका निभाता है। रस्ट की स्थिर टाइपिंग और शक्तिशाली स्वरूपण पुस्तकालयों का लाभ उठाकर, आप स्ट्रिंग हेरफेर और स्वरूपण कार्यों को संभालते हुए सुरक्षित, कुशल कोड लिख सकते हैं।
टाइप सिस्टम संकलन-समय की सुरक्षा सुनिश्चित करता है और सामान्य त्रुटियों को रोकता है, टाइप बेमेल से प्रारूप विनिर्देशक मुद्दों तक। रस्ट के टाइप सिस्टम और इसकी व्यापक स्वरूपण क्षमताओं के संयोजन के साथ, आप कर सकते हैं स्ट्रिंग फ़ॉर्मेटिंग की चुनौतियों का आत्मविश्वास से सामना करें और भाषा के प्रदर्शन और सुरक्षा से लाभान्वित हों गारंटी देता है।