2016-01-09 29 views
6

perl6 -e '100 ~~ ^100'False देता है, जहां यह मुझे लगता है कि यह True लौटा देना चाहिए, क्योंकि 100 0 और 100 के बीच की सीमा में है। क्या यह Range वर्ग के डिज़ाइन का एक हिस्सा है जिसे मैं समझ नहीं रहा हूं या यह है एक दोष?100 ~~^100 पर्ल 6 में झूठी वापसी क्यों करता है?

उत्तर

14

सिंटैक्स ^1000 ..^ 100 के लिए छोटा हाथ है और ^ का अर्थ है "छोड़कर"। 0 ..^ 100 वास्तव में संख्या 0 से 99 है। ऐसा इसलिए है क्योंकि ^100 के साथ आपको बिल्कुल 100 तत्वों की एक सूची मिलती है - जो for लूप के लिए बहुत उपयोगी है।

भूलें कि आप पूरी सूची को say (^100).list के साथ आउटपुट कर सकते हैं।

इसके अतिरिक्त, ^.. और ^..^ भी है जो पहले तत्व या पहले और अंतिम तत्व को बाहर करता है।

+0

आह, मैंने सोचा कि शॉर्टकट '0..100' था। – CyberSkull

5

देखभाल ^ इंगित करता है कि एंडपॉइंट को सीमा से बाहर रखा गया है, इसलिए 100 वास्तव में शामिल नहीं है।

perl6 -e '100 ~~ 100'true वापस आ जाएगा।

इस प्रकार के रूप में पढ़ें: डिजाइन का हिस्सा, सीएफ। https://doc.perl6.org/type/Range

संबंधित मुद्दे