जंग के आसन्न तत्वों पर पुनरावृत्ति करते समय लूप से कैसे बचें, इन लूप को लिखने से मैं कैसे बचूं? कोड एक वेक्टर लेता है और उत्पाद के लिए तीन आसन्न तत्वों को गुणा करता है। इसलिए, बाहरी पाश उन सभी तत्वों पर चला जाता है जो तीन के समूह का निर्माण कर सकते हैं और आंतरिक पाश गुणा करता है।एक वेक्टर
कठिनाई झूठ है, मुझे लगता है कि बाहरी पाश के अपूर्ण पुनरावृत्ति में (तत्व 0
से last - 3
)। इसके अलावा, आंतरिक पाश को उप-श्रेणी का उपयोग करना चाहिए।
क्या लूप लिखने से बचने का कोई तरीका है?
let v = vec![1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9];
let mut products = Vec::new();
for seq in 0..v.len() - 3 {
let mut product = 1;
for offset in 0..3 {
product *= v[seq + offset];
}
products.push(product);
}
अभी, सभी गणना 'उत्पाद की छोड़ दिए जाते हैं और कुछ भी नहीं: बजाय वेक्टर में सभी नंबरों को लिखने के लिए मैन्युअल रूप से आप इस बजाय लिख सकता है हो जाता। क्या आप उन सभी उत्पादों को वेक्टर में एकत्र करना चाहते हैं या आप उनके साथ क्या करना चाहते हैं? –
आप सही हैं। यह मेरे मूल कोड को उपरोक्त उदाहरण में कटौती के दौरान खो गया है। मैंने एक संपादन किया। – dani