Ich habe eine FunktionWie übergeben Sie einen Teil eines Arrays an eine Inout-Funktion? Typ-Löschung?
func doThing(inout array: [Int]) { //thing }
Ich habe das Array
var stuff = [0,1,2,3,4,5,6]
ich doThing
will nur die ersten drei Elemente operieren.
doThing(&stuff[0..<3])
funktioniert nicht, da
var partOfStuff: ArraySlice<Int> = stuff[0..<3]
und doThing
nicht ArraySlice
s akzeptiert. Das beste, was ich mir vorstellen kann, wäre, stuff
in AnyCollectionType
oder eine andere Typ-gelöschte Struktur einzubetten und die Argumente von doStuff
zu ändern, um den Typ-gelöschten Typ zu sein. Aber das scheint die Mühe kaum wert und sehr unelegant, ich denke nur inout
wäre nicht besser.
Jeder hat einen besseren Weg?
Sie die Scheibe in ein Array stellen könnten ... Sie haben könnten 'doThing' nehmen ein' _ArrayType' ... Wirklich, ohne zu wissen, was 'doThing '_does_, es ist schwer, hilfreich zu sein. Warum braucht es ein 'inout [Int]'? – matt