C'è un modo, simile all'utilizzo di if let
e/o facoltativi, per verificare se si sta indicizzando un buffer vuoto in Swift?Come prevenire un errore di 'indice di matrice fuori intervallo'?
risposta
definire il proprio:
extension Array {
func ref (i:Int) -> T? {
return 0 <= i && i < count ? self[i] : nil
}
}
La funzione ref()
restituisce un optional, in modo che possa essere nil
, ed è possibile utilizzare la sintassi if let
per accedere al valore restituito da ref()
quando esiste. Lo utilizzeresti come tale:
var myA = [10,20,30]
if let val = myA.ref(index) {
// Use 'val' if index is < 3
}
else {
// Do this if the index is too high
}
Non lo capisco molto bene. Puoi mostrarmi come usarlo e forse cosa sta facendo? – webmagnets
Grazie mille. – webmagnets
Penso che ref abbia bisogno di un nome migliore. Ma non potrei pensarne uno. – osrl
- 1. Prevenire Indice fuori del campo Errore di
- 2. errore fatale: indice fuori intervallo
- 3. Indice parametri fuori intervallo
- 4. strano "indice String fuori intervallo: 0" Errore
- 5. Errore Python: "IndexError: indice stringa fuori intervallo"
- 6. Sottostringa Java: "indice di stringa fuori intervallo"
- 7. numpy.savetxt "indice di tuple fuori intervallo"?
- 8. IndexError: indice fuori intervallo: 7
- 9. : errore di runtime: indice fuori intervallo in Go
- 10. Python - "indice di tuple fuori intervallo"
- 11. indice java.sql.SQLException Parametro fuori intervallo
- 12. Cloop nidificato con meno record del ciclo esterno causa errore "indice di matrice fuori intervallo"
- 13. Telerik MVC Indice fuori intervallo
- 14. StringBuilder.ToString() genera un 'indice fuori intervallo' eccezione
- 15. Indice Errore: lista degli indici fuori intervallo (Python)
- 16. Errore di indice fuori intervallo con un array - nessuna idea del perché?
- 17. "elenco indice fuori intervallo" quando si utilizza sys.argv [1]
- 18. Come risolvere Indice fuori del campo Errore di
- 19. errore di Rubino: "Simbolo come indice di matrice"
- 20. Sklearn Regressione lineare - "IndexError: indice tuple fuori intervallo"
- 21. Istruzione preparata Indice dei parametri fuori intervallo (0 <1)
- 22. Numero intero fuori intervallo
- 23. Errore in * tmp * [[j]]: indice fuori limite
- 24. QuickFIX/J Valore di errore fuori intervallo per questo tag
- 25. Ruby Time.parse mi dà un errore fuori intervallo
- 26. Sottostringa con intervallo fuori limite?
- 27. Eccezione nel thread "main" java.lang.StringIndexOutOfBoundsException: Indice di stringhe fuori intervallo: 11
- 28. Incremento iteratore fuori intervallo
- 29. restituire un intervallo di valori da una matrice in underscore.js
- 30. Prevenire istanza di un oggetto fuori del suo metodo factory
Definire "buffer"? –
Non so cosa significhi. Questo è un errore che ottengo quando provo ad accedere a un indice di array che non esiste ancora; troppo alto. L'array potrebbe avere 10 elementi, ma l'app tenta di accedere all'undicesimo. – webmagnets
Quindi è un array, controlla i limiti di un array usando la proprietà count ('array.count') GoZoner fornisce un esempio nella sua risposta. –