r
एक स्ट्रिंग अक्षर की शुरुआत में चरित्र raw string literal दर्शाता है। यह एक ऑपरेटर नहीं है, बल्कि एक उपसर्ग है।
सामान्य स्ट्रिंग अक्षर में, कुछ वर्ण हैं जिन्हें आपको स्ट्रिंग का हिस्सा बनाने के लिए भागने की आवश्यकता है, जैसे कि "
और \
। "
चरित्र से बचने की आवश्यकता है क्योंकि यह अन्यथा स्ट्रिंग को समाप्त कर देगा, और \
से बचने की आवश्यकता है क्योंकि यह बचने वाला चरित्र है।
कच्चे स्ट्रिंग अक्षर में, आप r
और उद्घाटन "
के बीच #
प्रतीकों की मनमानी संख्या डाल सकते हैं। कच्चे स्ट्रिंग अक्षर को बंद करने के लिए, आपके पास "
बंद होना चाहिए, इसके बाद शुरुआत में #
वर्णों की संख्या समान होनी चाहिए। शून्य या अधिक #
वर्णों के साथ, आप स्ट्रिंग मेंवर्ण डाल सकते हैं (\
वर्णों का कोई विशेष अर्थ नहीं है)। एक या अधिक #
वर्णों के साथ, आप स्ट्रिंग में अक्षर "
वर्ण डाल सकते हैं। यदि आपको स्ट्रिंग में #
वर्णों के अनुक्रम की आवश्यकता है तो स्ट्रिंग में "
के बाद, केवल #
वर्ण प्लस एक स्ट्रिंग को डिलीमिट करने के लिए उसी संख्या का उपयोग करें। उदाहरण के लिए: r##"foo #"# bar"##
स्ट्रिंग foo #"# bar
का प्रतिनिधित्व करता है। शाब्दिक मध्य में उद्धरण पर नहीं रुकता है, क्योंकि इसके बाद केवल #
होता है, जबकि शाब्दिक दो #
के साथ शुरू किया गया था।
अपने प्रश्न के अंतिम भाग का उत्तर देने के लिए, स्ट्रिंग शब्दशः रखने का कोई तरीका नहीं है जो मौजूदा दायरे में चर का मूल्यांकन करता है। कुछ भाषाएं, जैसे कि PHP, समर्थन करते हैं, लेकिन जंग नहीं। आपको इसके बजाय format!
मैक्रो का उपयोग करने पर विचार करना चाहिए। ध्यान दें कि JSON के लिए, आपको अभी भी कच्चे स्ट्रिंग अक्षर में भी ब्रेसिज़ को दोगुनी करने की आवश्यकता होगी, क्योंकि स्ट्रिंग को मैक्रो द्वारा व्याख्या किया जाता है।
fn main() {
let var1 = "test1";
let json = format!(r#"{{"type": "type1", "type2": {}}}"#, var1);
println!("{}", json) // => {"type2": "type1", "type2": test1}
}
आप JSON, there are many crates that will make it easier for you का एक बहुत उत्पन्न करने के लिए की जरूरत है। विशेष रूप से, serde_json
के साथ, आप नियमित जंग संरचनाओं या enums को परिभाषित कर सकते हैं और उन्हें स्वचालित रूप से JSON पर क्रमबद्ध कर सकते हैं।
# क्या करता है? –
यह सिर्फ एक डिलीमीटर है जो कच्चे स्ट्रिंग अक्षर के लिए वाक्यविन्यास का हिस्सा है। –