Cairo में कंट्रोल फ्लो की मदद से आप तय कर सकते हैं कि आपका प्रोग्राम शर्तों और दोहराव के आधार पर किस रास्ते पर चलेगा।
शर्तों के आधार पर कोड चलाने के लिए if एक्सप्रेशन इस्तेमाल कीजिए:
let number = 42;
if number > 0 {
println!("Positive number");
} else if number < 0 {
println!("Negative number");
} else {
println!("Zero");
}
if एक एक्सप्रेशन है, इसलिए यह वैल्यू लौटा सकता है:
let result = if condition { 5 } else { 10 };
कोड दोहराने के लिए loop का इस्तेमाल कीजिए।
कोई लूप तब तक चलता रहता है जब तक आप उसे रोक न दें। शर्त पूरी होने पर लूप से बाहर निकलने के लिए break का इस्तेमाल कीजिए।
let mut counter = 0;
loop {
if counter == 5 {
break;
}
println!("Counter: {}", counter);
counter += 1;
}
लूप break की मदद से वैल्यू लौटा सकते हैं:
let result = loop {
counter += 1;
if counter == 10 {
break counter * 2; // Returns 20
}
};
अगले इटरेशन पर जाने के लिए continue का इस्तेमाल कीजिए:
let mut i = 0;
loop {
i += 1;
if i % 2 == 0 {
continue; // Skip even numbers
}
if i > 10 {
break;
}
println!("{}", i); // Only prints odd numbers
}
इस अभ्यास में आप Cairo के कंट्रोल फ्लो की संरचनाओं का उपयोग करके एक छोटी बेकरी के रोज़मर्रा के काम संभालने में मदद करेंगे।
calculate_total बनाइए, जो पेस्ट्री के प्रकार और मात्रा के आधार पर ऑर्डर की कीमत निकालता है:
calculate_total(Pastry::Croissant, 4) // Returns: 12 (4 * 3)
calculate_total(Pastry::Cookie, 10) // Returns: 10 (10 * 1)
apply_discount बनाइए, जो ऑर्डर के कुल योग के आधार पर छूट लागू करता है।
कुल योग पर प्रतिशत छूट लागू कीजिए, और फिर निकटतम पूर्ण सिक्के तक नीचे की ओर पूर्णांकित कीजिए (floor)।
apply_discount(25) // Returns: 22
apply_discount(15) // Returns: 14
apply_discount(8) // Returns: 8
baking_schedule बनाइए, जो एक दिन के बेकिंग का प्लान बनाता है।
बेकरी हर घंटे 5 ऑर्डर के बैच में बेक करती है:
baking_schedule(18) // Returns: [5, 5, 5, 3] (3 full batches + 3 remaining)
baking_schedule(10) // Returns: [5, 5] (2 full batches)
baking_schedule(3) // Returns: [3] (1 partial batch)
हर समस्या को कुशलता से हल करने के लिए उपयुक्त कंट्रोल फ्लो संरचनाओं (if/else, loop) का उपयोग कीजिए।
Exercism पर साइन अप कीजिए और Cairo को 25 कॉन्सेप्ट68 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।