Neu bei swift. Wir habenArray-Elemente als Argument in Funktionen
var b : [Double] = [0,1,2,3,4,5,6,7,8,9]
var c = 5
I func xyz mit ersten c Elemente b nennen wollen.
var a = xyz(b[0...c])
- nicht arbeitet
Neu bei swift. Wir habenArray-Elemente als Argument in Funktionen
var b : [Double] = [0,1,2,3,4,5,6,7,8,9]
var c = 5
I func xyz mit ersten c Elemente b nennen wollen.
var a = xyz(b[0...c])
- nicht arbeitet
eine Range
Verwendung in einer Anordnung zur Auswahl erzeugt ein ArraySlice
, kein Array
.
Also, wenn Sie wollen, um diese „Scheibe“ passieren zu einer Funktion:
var b : [Double] = [0,1,2,3,4,5,6,7,8,9]
var c = 5
let slice = b[0...c]
Sie Ihre Funktion ein ArraySlice
mit der richtigen Art machen müssen akzeptieren:
func xyz(chunk: ArraySlice<Double>) {
print(chunk)
}
xyz(slice)
Aber wenn Sie wollen Um nur normale Arrays zu verwenden, muss die Funktion ein Array akzeptieren und das Segment in ein Array umwandeln, wenn die Funktion aufgerufen wird:
func xyz(chunk: [Double]) {
print(chunk)
}
xyz(Array(slice))
danke! func xyz (chunk: [Double]) -> [Double] ich habe var y: Double wie kann ich y letzten element von xyz [Double] zuweisen? – Anton
Um das letzte Element zu erhalten, tun Sie 'array.last'. Es funktioniert mit Arrays und Arrayslices. Es gibt ein optionales zurück, so dass Sie es auch (sicher) auspacken müssen. Sie könnten auch '[array.count-1 ... array.count-1]' tun, aber es ist schrecklich. ;) – Moritz
Eric, was ist, wenn b eine Struktur ist, die x enthält: Double. Und ich möchte wieder eine Funktion aufrufen: xyz (b [0 ... 5]. X) - wie das zu verwalten? Danke nochmal – Anton