Avatar ·

Rust में एक फंक्शन कैसे लिखें जो iterator लेता है?

सभी को नमस्ते! मैं Rust में नया हूँ और एक ऐसा फंक्शन लिखने की कोशिश कर रहा हूँ जो विभिन्न स्रोतों से संख्याओं के अनुक्रम को प्रोसेस कर सके: vector से, range से, file से, आदि। दूसरी भाषाओं में मैं बस array या list पास कर देता था, लेकिन Rust में, जैसा कि मैंने समझा, iterator का उपयोग करना आम बात है। समस्या यह है कि मैं समझ नहीं पा रहा हूँ कि पैरामीटर के प्रकार को सही तरीके से कैसे घोषित किया जाए। मैंने कुछ इस तरह लिखने की कोशिश की: ```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 और stack में आकार से संबंधित है।