जंग पुस्तक का उल्लेख है कि "यह लगभग हमेशा एक टपल struct की तुलना में एक struct उपयोग करने के लिए बेहतर है।" नए प्रकार के पैटर्न के अलावा, क्या अनाम नाम रखने के कोई अन्य फायदे हैं? मुझे लगता है कि न्यूटाइप पैटर्न टुपल structs होने का एकमात्र उपयोगी मामला है।ट्यूपल structs के लिए कुछ उपयोग के मामले क्या हैं?
उत्तर
वे एक-दूसरे के समान हैं।
को देखते हुए निम्नलिखित definitions
struct TupleStruct(i32, i32);
struct NormalStruct{ a: i32, b: i32 }
हम structs और टपल structs के उदाहरण के रूप में इस प्रकार है
let ts = TupleStruct(1, 2);
let ns = NormalStruct { a: 1, b: 2};
// AFAIK, this shortcut to initialize the fields of a struct using the values of the fields
// of another struct can't be done using tuple structs.
let ns2 = NormalStruct {a: 5, ..ns};
कार्य के रूप में
let TupleStruct(x, y) = ts;
println!("x: {}, y: {}", x, y);
let NormalStruct {a, b} = ns;
println!("a: {}, b: {}", a, b);
एक टपल struct इस प्रकार काम का निर्माण कर सकते ' एस खेतों हे निहित नाम हैं (0, 1, ...)। इसलिए, क्षेत्रों तक पहुँचने यह लगभग हमेशा struct के क्षेत्र को स्पष्ट नाम आवंटित करने के स्पष्ट है के रूप में कम से कम प्रलेखन प्रयोजनों के लिए
println!("Accessing ns by name - {}{}", ns.a, ns.b);
println!("accessing ts by name - {}{}", ts.0, ts.1);
इस प्रकार किया जाता है,। यही कारण है कि जंग समुदाय में मैंने हमेशा एक सामान्य संरचना का उपयोग करने के लिए कई बहस देखी हैं।
हालांकि, ऐसे मामले हो सकते हैं जहां संरचना के क्षेत्र स्वाभाविक रूप से "अज्ञात" हैं, एक उल्लेखनीय मामला "न्यूटाइप" (एक फ़ील्ड के साथ टुपल स्ट्रक्चर) है जहां आप केवल एक आंतरिक प्रकार को लपेट रहे हैं।
उस स्थिति में, आंतरिक क्षेत्र का नामकरण तर्कसंगत रूप से कोई अतिरिक्त जानकारी प्रदान नहीं करता है।
struct Inches { inner: i32 }
बनाम
struct Inches(i32)
section on structs on the Rust book newtypes बारे में अधिक जानकारी नहीं है।
- 1. कोरआउट के लिए उपयोग-मामले क्या हैं?
- 2. अक्का माइक्रोक्रोनल का उपयोग करने के लिए कुछ सामान्य उपयोग के मामले क्या हैं?
- 3. पायथन के __new__ के लिए उपयोग के मामले क्या हैं?
- 4. vi के लिए सामान्य उपयोग के मामले क्या हैं?
- 5. गिट अनाथ शाखाओं के लिए उपयोग के मामले क्या हैं?
- 6. std :: unique_lock :: रिलीज के लिए उपयोग के मामले क्या हैं?
- 7. जेरोमक उपयोग के मामले क्या हैं?
- 8. गिट नेमस्पेस के लिए उपयोग के मामले क्या हैं?
- 9. सी ++ 11 में टुपल्स के लिए अच्छे उपयोग-मामले क्या हैं?
- 10. क्या परिवर्तनीय सार्वजनिक क्षेत्रों के लिए उपयोग-मामले हैं?
- 11. वेब श्रमिकों के लिए उपयोग-मामले क्या हैं?
- 12. करी के वास्तविक उपयोग के मामले क्या हैं?
- 13. जॉबलिब बनाम अचार के विभिन्न उपयोग के मामले क्या हैं?
- 14. जावास्क्रिप्ट प्रोटोटाइप ऑब्जेक्ट्स के व्यावहारिक उपयोग के मामले क्या हैं?
- 15. कुछ मामले
- 16. क्लोजर मेटाडेटा के कुछ उपयोग क्या हैं?
- 17. जावा एजेंटों के लिए कुछ दिलचस्प उपयोग क्या हैं?
- 18. विभिन्न प्रकार के मामले क्या हैं?
- 19. टेम्पलेट में टाइपनाम के लिए नाम घोषित करने के उपयोग के मामले क्या हैं?
- 20. प्रक्रिया के लिए उचित उपयोग के मामले क्या हैं। Nxt.js में टिकटें?
- 21. स्कैला 2.9 की कोशिश के लिए उपयोग के मामले क्या हैं ... सामान्यीकरण पकड़ो?
- 22. एलएक्ससी बनाम वीएम के लिए सामान्य उपयोग के मामले क्या हैं?
- 23. ThreadPool.QueueUserWorkItem उपयोग के मामले
- 24. ओओपी के बंद होने के कुछ उपयोग क्या हैं?
- 25. नए विकास के लिए क्लोजर का उपयोग करने के लिए सबसे अच्छे उपयोग के मामले क्या हैं?
- 26. जावास्क्रिप्ट में बंद/कॉलबैक फ़ंक्शंस के लिए उपयोग के मामले क्या हैं?
- 27. matplotlib के उपयोग के लिए पांडा डेटाफ्रेम में ट्यूपल मान निकालने के लिए कैसे?
- 28. सी में अज्ञात structs/संघों के क्या फायदे हैं?
- 29. structs
- 30. जीएचसी के मामलों में पहचान के मामले क्या होते हैं?
एक अन्य उपयोग केस छोटी धर्मार्थ के गणितीय वैक्टर हैं। एक 2 डी या 3 डी वेक्टर प्रसंस्करण पुस्तकालय की तरह। यद्यपि आप वहां एक सरणी के लिए एक नया टाइप भी इस्तेमाल कर सकते हैं। –