एंड इंडेक्स वैल्यू के समान मान देता है। क्या यह सही व्यवहार या बग है?स्विफ्ट में सरणी के endIndex का सही व्यवहार क्या है?
var ar = [1, 2, 3, 4]
ar.count // 4
ar.endIndex // 4
एंड इंडेक्स वैल्यू के समान मान देता है। क्या यह सही व्यवहार या बग है?स्विफ्ट में सरणी के endIndex का सही व्यवहार क्या है?
var ar = [1, 2, 3, 4]
ar.count // 4
ar.endIndex // 4
Array.endIndex
सरणी के अंत (या गिनती के रूप में ही) यात्रा के उद्देश्यों के लिए, subscripting नहीं पिछले 1 करने के लिए है। जबकि endIndex
Index
(from the Indexable
protocol) जो सिर्फ संग्रह के अंत अतीत है
let x = [1, 2, 3, 4]
for var i = x.startIndex; i < x.endIndex; i++ {
println(x[i])
}
count
, संग्रह में आइटम्स की संख्या है।
Array
के लिए, ये वही हैं। इस तरह के ArraySlice
रूप में कुछ अन्य संग्रह, के लिए, वे नहीं कर रहे हैं:
let array = ["a", "b", "c", "d", "e"]
array.startIndex // 0
array.count // 5
array.endIndex // 5
let slice = array[1..<4] // elements are "b", "c", "d"
slice.startIndex // 1
slice.count // 3
slice.endIndex // 4
होने 'इस तरह endIndex' का उद्देश्य क्या है? यह जोड़ा गया कार्यक्षमता क्या देता है क्योंकि यह थोड़ा सा अंतर्ज्ञानी लगता है। – Honey