Rust में एक फ़ंक्शन कैसे लिखें जो इटरेटर स्वीकार करता है?
सभी को नमस्ते! मैं Rust में नौसिखिया हूँ और एक ऐसा फ़ंक्शन लिखने की कोशिश कर रहा हूँ जो विभिन्न स्रोतों से संख्याओं के अनुक्रम को प्रोसेस कर सके: वेक्टर से, रेंज से, फ़ाइल से आदि। अन्य भाषाओं में मैं बस एक array या list पास करता, लेकिन Rust में, जैसा कि मैंने समझा, इटरेटर का उपयोग करना सामान्य है।
समस्या यह है कि मैं समझ नहीं पा रहा हूँ कि पैरामीटर के प्रकार को सही तरीके से कैसे घोषित किया जाए। मैंने कुछ इस तरह लिखने की कोशिश की:
```rust
fn sum_squares(items: Iterator- ) -> i32 {
items.map(|x| x * x).sum()
}
fn main() {
let vec = vec![1, 2, 3, 4, 5];
println!("{}", sum_squares(vec.iter()));
}
```
लेकिन कंपाइलर त्रुटि देता है: "error[E0277]: the size for values of type `dyn Iterator
- ` cannot be known at compilation time"। मैं समझता हूँ कि यह किसी तरह traits और स्टैक में आकार से संबंधित है।