# 1. Array
Aralık ile alt simge kullanma
Swift 5 ile yazarken…
let newNumbers = numbers[0...position]
… newNumbers
Tipte değil Array<Int>
, tipte ArraySlice<Int>
. Bunun nedeni , Apple'a göre Array
s'nin subscript(_:)
bir ArraySlice<Element>
o döndürmesidir ve daha büyük bir dizinin depolanmasına ilişkin bir görünüm sunar.
Ayrıca Swift, a'dan (dahil ) yeni bir dizi oluşturmamızı sağlayan Array
bir başlatıcı da sağlar .init(_:)
sequence
ArraySlice
Bu nedenle, bir dizinin ilk n öğesinden yeni bir dizi elde etmek için subscript(_:)
with kullanabilirsiniz :init(_:)
let array = Array(10...14) // [10, 11, 12, 13, 14]
let arraySlice = array[0..<3] // using Range
//let arraySlice = array[0...2] // using ClosedRange also works
//let arraySlice = array[..<3] // using PartialRangeUpTo also works
//let arraySlice = array[...2] // using PartialRangeThrough also works
let newArray = Array(arraySlice)
print(newArray) // prints [10, 11, 12]
# 2. Kullanma Array
bireyin prefix(_:)
yöntemi
Swift, protokole (dahil ) prefix(_:)
uyan türler için bir yöntem sağlar . aşağıdaki beyana sahiptir:Collection
Array
prefix(_:)
func prefix(_ maxLength: Int) -> ArraySlice<Element>
İlk öğeleri içeren maxLength uzunluğa kadar bir alt dizi döndürür.
Apple ayrıca şunları belirtir:
Maksimum uzunluk, koleksiyondaki öğe sayısını aşarsa, sonuç koleksiyondaki tüm öğeleri içerir.
Bu nedenle, önceki örneğe alternatif olarak, başka bir dizinin ilk öğelerinden yeni bir dizi oluşturmak için aşağıdaki kodu kullanabilirsiniz:
let array = Array(10...14) // [10, 11, 12, 13, 14]
let arraySlice = array.prefix(3)
let newArray = Array(arraySlice)
print(newArray) // prints [10, 11, 12]