Avatar ·

Rust में सामान्य ट्रेट को लागू करने वाले ऑब्जेक्ट्स का वेक्टर: कैसे बनाएं और उपयोग करें?

नमस्ते! मैं Rust में नया हूँ और पॉलीमॉर्फिज्म को समझने की कोशिश कर रहा हूँ। मेरे पास `area()` मेथड वाला एक `Shape` ट्रेट है, और कई स्ट्रक्चर (`Circle`, `Rectangle`) हैं जो इसे लागू करते हैं। मैं एक ऐसा वेक्टर बनाना चाहता हूँ जो इस ट्रेट को लागू करने वाले विभिन्न प्रकार के ऑब्जेक्ट्स को स्टोर कर सके। C++ या Java में, मैं कुछ इस तरह लिखता: `vector shapes;` या `List shapes = new ArrayList<>();`। लेकिन Rust में मैं सीधे `Vec` नहीं लिख सकता — कंपाइलर कहता है कि ट्रेट का साइज़ कंपाइल टाइम पर ज्ञात नहीं है। यहाँ मेरा कोड है जो काम नहीं करता: ```rust trait Shape { fn area(&self) -> f64; } struct Circle { radius: f64, } impl Shape for Circle { fn area(&self) -> f64 { std::f64::consts::PI * self.radius * self.radius } } struct Rectangle { width: ```