स्विफ्ट 3 के लिए अपडेट किया गया
नीचे दिया गया उत्तर उपलब्ध विकल्पों का सारांश है। वह चुनें जो आपकी आवश्यकताओं के लिए सबसे उपयुक्त हो।
reversed
: एक सीमा में संख्याएँ
आगे
for index in 0..<5 {
print(index)
}
// 0
// 1
// 2
// 3
// 4
पिछड़ा
for index in (0..<5).reversed() {
print(index)
}
// 4
// 3
// 2
// 1
// 0
reversed
: में तत्व SequenceType
let animals = ["horse", "cow", "camel", "sheep", "goat"]
आगे
for animal in animals {
print(animal)
}
// horse
// cow
// camel
// sheep
// goat
पिछड़ा
for animal in animals.reversed() {
print(animal)
}
// goat
// sheep
// camel
// cow
// horse
reversed
: एक सूचकांक के साथ तत्व
कभी-कभी एक संग्रह के माध्यम से पुनरावृत्ति करते समय एक सूचकांक की आवश्यकता होती है। उसके लिए आप उपयोग कर सकते हैं enumerate()
, जो टपल लौटाता है। टपल का पहला तत्व सूचकांक है और दूसरा तत्व वस्तु है।
let animals = ["horse", "cow", "camel", "sheep", "goat"]
आगे
for (index, animal) in animals.enumerated() {
print("\(index), \(animal)")
}
// 0, horse
// 1, cow
// 2, camel
// 3, sheep
// 4, goat
पिछड़ा
for (index, animal) in animals.enumerated().reversed() {
print("\(index), \(animal)")
}
// 4, goat
// 3, sheep
// 2, camel
// 1, cow
// 0, horse
ध्यान दें कि बेन लछमन ने अपने जवाब में कहा , आप शायद इसके .enumerated().reversed()
बजाय करना चाहते हैं.reversed().enumerated()
(जिससे सूचकांक संख्या में वृद्धि होगी)।
स्ट्राइड: संख्या
स्ट्राइड एक सीमा का उपयोग किए बिना पुनरावृति करने का तरीका है। इसके दो रूप हैं। कोड के अंत में टिप्पणियां दिखाती हैं कि रेंज संस्करण क्या होगा (वेतन वृद्धि का आकार 1 है)।
startIndex.stride(to: endIndex, by: incrementSize) // startIndex..<endIndex
startIndex.stride(through: endIndex, by: incrementSize) // startIndex...endIndex
आगे
for index in stride(from: 0, to: 5, by: 1) {
print(index)
}
// 0
// 1
// 2
// 3
// 4
पिछड़ा
वेतन वृद्धि का आकार बदलने से -1
आप पिछड़ जाते हैं।
for index in stride(from: 4, through: 0, by: -1) {
print(index)
}
// 4
// 3
// 2
// 1
// 0
नोट to
और through
अंतर।
स्ट्राइड: सीक्वेंसटाइप के तत्व
2 की वेतन वृद्धि से आगे
let animals = ["horse", "cow", "camel", "sheep", "goat"]
मैं 2
इस उदाहरण में सिर्फ एक और संभावना दिखाने के लिए उपयोग कर रहा हूं ।
for index in stride(from: 0, to: 5, by: 2) {
print("\(index), \(animals[index])")
}
// 0, horse
// 2, camel
// 4, goat
पिछड़ा
for index in stride(from: 4, through: 0, by: -1) {
print("\(index), \(animals[index])")
}
// 4, goat
// 3, sheep
// 2, camel
// 1, cow
// 0, horse
टिप्पणियाँ