fonction rapide renvoyant un tableau
Im apprentissage rapide et je peux comprendre comment créer une simple fonction qui prend un Tableau et retourne un Tableau. Voilà mon code:
func myArrayFunc(inputArray:Array) -> Array{
var newArray = inputArray
//do stuff with newArray
return newArray
}
Le rouge d'erreur que je reçois est: Référence générique de type "Array" requiert des arguments dans <>
source d'informationauteur pete
Vous devez vous connecter pour publier un commentaire.
Dans Swift
Array
est de type générique, de sorte que vous devez spécifier ce type de tableau. Par exemple:Si vous voulez que votre fonction générique alors utiliser:
Si vous ne souhaitez pas spécifier le type ou avoir de la fonction générique utilisation
Any
type:Dépend de qu'est-ce exactement que vous voulez faire. Si vous voulez une fonction spécialisée qui prend un tableau d'un type spécifique MyType, alors vous pourriez écrire quelque chose comme:
Si vous voulez un générique de la matrice de fonction, alors vous devez utiliser des génériques. Ce serait prendre un tableau de type générique T et retourne un tableau de type générique U:
Il n'y a pas une telle chose comme un
Array
dans Swift, mais il y a des tableaux d'un certain type, vous devez donc vous donner la fonction d'un type générique, comme dans:et ensuite l'appeler par l'instanciation de T pour un type spécifique, et le passage d'un tableau de ce type.
merci à tous (surtout Kirsteins). Donc, je suis venu avec cet exemple qui fonctionne bien et semble logique:
Essayer cette
Cela devrait le faire:
Vous déclarez le type générique
T
qui est juste un espace réservé. Parce qu'il n'a pas d'exigencesT
peut être remplacé par n'importe quel type (lorsque la fonction est appelée). Si votre fonction peut être appelée comme ceci:ou ceci:
La syntaxe préférée est généralement
[T]
plutôt queArray<T>
cependant. (bien que les deux sont corrects)