2015-03-28 43 views
12

में विशेष श्रेणियां बनाना मैं बस Kotlin से शुरू कर रहा हूं। मैं 1 से n तक श्रेणी बनाना चाहता हूं जहां nexcluded है। मुझे पता चला है कि Kotlin पर्वतमाला है और के रूप मेंकोटलिन

1..n

इस प्रकार है लेकिन यह एक inclusive रेंज जो 1 और n भी शामिल है मैं उन्हें इस्तेमाल कर सकते हैं। मैं exclusive श्रेणियां कैसे बना सकता हूं।

उत्तर

4

यह सुनिश्चित नहीं है कि यह करने का यह सबसे अच्छा तरीका है लेकिन आप Int एक्सटेंशन को परिभाषित कर सकते हैं जो IntRange (निचला बाउंड +1) से (ऊपरी बाउंड -1) तक बनाता है।

fun Int.exclusiveRangeTo(other: Int): IntRange = IntRange(this + 1, other - 1) 

और फिर इस तरह से इसका इस्तेमाल करते हैं:

for (i in 1 exclusiveRangeTo n) { //... } 

Here आप कैसे काम पर्वतमाला बारे में अधिक जानकारी पा सकते हैं।

43

आप Kotlin stdlib में until फ़ंक्शन का उपयोग कर सकते हैं:

for (i in 1 until 5) { 
    println(i) 
} 

कौन सा प्रिंट होगा:

1 
2 
3 
4 
+0

नोट: Kotlin 1.1, का उपयोग करते हुए "जब तक" पूर्णांकों के साथ ही उत्पन्न नहीं करता है में अनुकूलित कोड के रूप में कोड: के लिए (मैं 1..एन -1 में) {...} – BladeCoder

+0

@BladeCoder यह अभी भी Kotlin 1.2 के लिए सच है? – leoderprofi

+2

@leoderprofi हाँ चीजें बदल गई हैं। कोटलिन 1.1.4 के बाद से अब तक "अनुकूलित" अनुकूलित किया गया है – BladeCoder