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:
```