2014-07-20 14 views

Odpowiedz

10

Array.endIndex ma być jeden obok końca tablicy (albo tak samo jak liczby) w celu iteracji nie indeksowanie.

let x = [1, 2, 3, 4] 
for var i = x.startIndex; i < x.endIndex; i++ { 
    println(x[i]) 
} 
12

count oznacza liczbę elementów w kolekcji, natomiast endIndex jest Index (from the Indexable protocol) który jest tuż za końcem kolekcji.

Dla Array są one takie same. Dla niektórych innych kolekcjach, takich jak ArraySlice, nie są one:

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 
+3

Jaki jest sens posiadania 'endIndex' w ten sposób? Jaka jest dodatkowa funkcjonalność, ponieważ wydaje się nieco sprzeczna z intuicją. – Honey

Powiązane problemy