कलेक्शन पर इटरेशन
for और इटरेटर
कलेक्शन पर इटरेशन, CoddyKit पर Rust कोडिंग सीखें का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Rust कोडिंग सीखें सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Rust कोडिंग सीखें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
for से लूप करना
किसी संग्रह के प्रत्येक एलिमेंट तक पहुँचने का सबसे सरल तरीका for लूप है।
fn main() {
let nums = vec![1, 2, 3];
for n in &nums {
println!("{}", n);
}
}रेंज पर लूप करना
रेंज ऐसी श्रृंखला बनाती हैं जिस पर इटरेट किया जा सकता है। 1..5 अंतिम मान को शामिल नहीं करती; 1..=5 अंतिम मान को शामिल करती है।
fn main() {
for i in 1..=3 {
println!("i = {}", i);
}
}iter मेथड
.iter() कॉल करने पर एक इटरेटर बनता है, जो प्रत्येक एलिमेंट के रेफ़रेंस देता है। उपभोग किए जाने तक इटरेटर आलसी रहते हैं।
fn main() {
let v = vec![10, 20, 30];
let mut it = v.iter();
println!("{:?}", it.next());
println!("{:?}", it.next());
}इटरेट करने के तीन तरीके
वेक्टर इटरेशन की तीन शैलियाँ देते हैं:
iter()—&Tदेता है (उधार लेना)।iter_mut()—&mut Tदेता है (परिवर्तनशील उधार)।into_iter()—Tदेता है (स्वामित्व लेना)।
fn main() {
let v = vec![1, 2, 3];
for x in v.into_iter() {
println!("owned {}", x);
}
}map से रूपांतरित करना
map प्रत्येक एलिमेंट पर क्लोज़र लागू करके एक नया इटरेटर बनाता है। परिणाम एकत्र करने के लिए collect का उपयोग करें।
fn main() {
let v = vec![1, 2, 3];
let squared: Vec<i32> = v.iter().map(|x| x * x).collect();
println!("{:?}", squared);
}filter से चयन करना
filter केवल उन एलिमेंट को रखता है जिनके लिए क्लोज़र true लौटाता है।
fn main() {
let v = vec![1, 2, 3, 4, 5];
let odds: Vec<i32> = v.into_iter().filter(|x| x % 2 == 1).collect();
println!("{:?}", odds);
}sum और count से एकत्र करना
उपभोग करने वाले मेथड इटरेटर को एकल मान में बदल देते हैं, जैसे sum, count, max और min।
fn main() {
let v = vec![4, 8, 15, 16];
let total: i32 = v.iter().sum();
let how_many = v.iter().count();
println!("sum {} count {}", total, how_many);
}एडाप्टर को श्रृंखला में जोड़ना
इटरेटर मेथड को एक स्पष्ट पाइपलाइन में श्रृंखलाबद्ध किया जा सकता है। अंतिम उपभोक्ता तक पहुँचने से पहले हर चरण स्ट्रीम को रूपांतरित करता है।
fn main() {
let v = vec![1, 2, 3, 4, 5, 6];
let result: i32 = v.iter()
.filter(|x| *x % 2 == 0)
.map(|x| x * 10)
.sum();
println!("{}", result);
}इंडेक्स के लिए enumerate
enumerate प्रत्येक एलिमेंट को उसके इंडेक्स के साथ जोड़ता है और (index, value) ट्यूपल देता है।
fn main() {
let letters = vec!['a', 'b', 'c'];
for (i, ch) in letters.iter().enumerate() {
println!("{}: {}", i, ch);
}
}HashMap पर इटरेट करना
मैप पर भी इटरेटर काम करते हैं। लूप चलाने पर कुंजी-मान के ट्यूपल मिलते हैं।
use std::collections::HashMap;
fn main() {
let mut m = HashMap::new();
m.insert("a", 1);
m.insert("b", 2);
for (k, v) in &m {
println!("{} -> {}", k, v);
}
}for बनाम इटरेटर विधियाँ
साधारण for लूप प्रिंट करने जैसे साइड इफ़ेक्ट के लिए बहुत उपयोगी होता है। इटरेटर अडैप्टर (map, filter, sum) डेटा को नए मान में बदलने के लिए अधिक प्रभावी होते हैं।
fn main() {
let v = vec![2, 4, 6];
let doubled: Vec<i32> = v.iter().map(|x| x * 2).collect();
for x in &doubled {
println!("{}", x);
}
}त्वरित जाँच
इटरेटर अडैप्टर की भूमिका याद कीजिए।
पुनरावलोकन
Rust में संग्रहों पर इटरेशन:
- सरल लूप के लिए
for x in &collection। - उधार लेने को नियंत्रित करने के लिए
iter,iter_mut,into_iter। - अडैप्टर:
map,filter,enumerate। - कंज़्यूमर:
collect,sum,count,max।
fn main() {
let prices = vec![10, 25, 40];
let with_tax: Vec<i32> = prices.iter().map(|p| p + p / 5).collect();
let total: i32 = with_tax.iter().sum();
println!("{:?} total {}", with_tax, total);
}एआई शिक्षक के साथ Rust सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 39
- पाठ
- 144
अक्सर पूछे जाने वाले प्रश्न
क्या “कलेक्शन पर इटरेशन” पाठ निःशुल्क है?
हाँ — Rust कोडिंग सीखें अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “कलेक्शन पर इटरेशन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Rust कोडिंग सीखें पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“कलेक्शन पर इटरेशन” में मैं क्या सीखूँगा?
for और इटरेटर आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Rust कोडिंग सीखें का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Rust कोडिंग सीखें शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Rust कोडिंग सीखें शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“कलेक्शन पर इटरेशन” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Rust कोडिंग सीखें पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Rust कोडिंग सीखें पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- वेक्टर
- स्ट्रिंग और &str
- HashMaps
- कलेक्शन पर इटरेशन