वास्तव में पर्ल को नहीं जानते, मैं एक दोस्ताना खोज इंजन से सहायता के साथ एक पर्ल स्क्रिप्ट को बढ़ा रहा हूं।क्या इस पर्ल लूप से सशर्त रूप से 'आखिरी' के लिए एक क्लीनर तरीका है?
मुझे लगता है कि मैं एक लूप से बाहर तोड़ने के लिए, जबकि एक ध्वज की स्थापना करता है, तो एक शर्त सच हो रहा है की जरूरत है:
:foreach my $element (@array) {
if($costlyCondition) {
$flag = 1;
last;
}
}
मुझे पता है कि 'अंतिम' का उपयोग करने के अच्छे तरह से कुछ इस तरह है
foreach my $element (@array) {
last if ($costlyCondition);
}
बेशक, इसका मतलब है कि जब मैं सिंटैक्टिक चीनी का आनंद ले सकता हूं, तो मैं अपने ध्वज को लूप के अंदर सेट नहीं कर सकता, जिसका मतलब है कि मुझे एक बार फिर $costlyCondition
का मूल्यांकन करने की आवश्यकता है।
क्या ऐसा करने का कोई क्लीनर तरीका है?
पोस्टफिक्स 'if' वास्तव में केवल एक कथन के लिए है। आपका पहला एक सशर्त पर एकाधिक बयानों के लिए बेहतर है। –
मुझे लगता है कि अगर इस मामले में एक ब्लॉक बेहतर विकल्प है। लूप नियंत्रण पर पोस्टफिक्स सशर्त के लिए सामान्य तर्क यह है कि यह बाईं ओर अधिक महत्वपूर्ण कोड रखता है। इस बात पर जोर देते हुए कि लूप के पास बाहर निकलने की स्थितियों के बारे में कई निकास स्थितियां हैं। इस मामले में यदि आप कुछ यौगिक अभिव्यक्तियों का उपयोग करते हैं तो सुझाव दिया गया है कि परिणाम केवल अभिव्यक्ति में लूप नियंत्रण को गहरा कर देता है जिससे एक नज़र में देखना मुश्किल हो जाता है। –
@ जोएल: आप सही हैं। मैं मूल संस्करण के साथ रहना। – ArjunShankar