Comment répéter for loop dans le sens inverse swift?
Quand j'utilise for loop à Playground, Tout a fonctionné bien jusqu'à ce que je changeais le premier paramètre for loop À la plus haute valeur. /Répété en ordre décroissant/
Est-ce que ce bug? At-il eu quelqu'un d'autre?
Compteur, qui montre le nombre d'itérations qui seront terminées, continue de cocher ...
Est-ce que ce bug? At-il eu quelqu'un d'autre?
for index in 510..509
{
var a = 10
}
Compteur, qui montre le nombre d'itérations qui seront terminées, continue de cocher ...
Aucun résultat connexe trouvé
Invité:
Pour répondre aux questions, connectez-vous ou registre
14 réponses
Emilie
Confirmation de:
, qui est utilisé avec des gammes exceptionnelles, et
, qui est utilisé avec des gammes inclusives.
Pour l'itération dans la gamme dans l'ordre inverse, ils peuvent être utilisés comme suit:
Notez qu'aucun d'entre eux n'est une fonction de membre
. Ce sont des fonctions globales qui renvoient la structure
, Soit la structure
, qui sont différents de la structure
.
Dans la version précédente de cette réponse, une fonction de membre a été utilisée.
Structures
, qui a été supprimé dans la version bêta 4. Si vous voulez voir comment cela fonctionne, vérifiez l'historique de modification.
Babette
Confirmation de:
Pour
Swift 1.2
et versions antérieures:
Cela fonctionne également avec des bandes semi-ouvertes:
Noter:
Crée un tableau de type
[Int]
, Par conséquent, bien que cela puisse être bon pour les petites gammes, il serait raisonnable d'utiliser
, Comme indiqué ci-dessous, ou envisagez la réponse acceptée
, Si votre gamme est grande.
Pour éviter de créer un grand tableau, utilisez
ensemble avec
. Le test suivant fonctionne efficacement sur le terrain de jeu, montrant qu'il ne crée pas de matrice avec un billion de monnaie
avec!
Test
:
Pour
Swift 2.0
à Xcode 7:
S'il vous plaît noter que dans Swift 2.0
Il a du type
, Donc ça marche bien:
Pour
Swift 3.0
a été renommé B.
:
Constantine
Confirmation de:
La réponse ci-dessous est un bref résumé des options disponibles. Choisissez celui qui correspond le mieux à vos besoins.
: Nombres dans la gamme
Effronté
Retour
: Éléments B.
let animals = ["horse", "cow", "camel", "sheep", "goat"]
Effronté
Retour
: Éléments avec index
Parfois, l'index est requis lorsque des itérations sur la collection. Pour cela, vous pouvez utiliser
, Qui retourne un coeur. Le premier élément du tuple est l'index et le deuxième objet.
let animals = ["horse", "cow", "camel", "sheep", "goat"]
Effronté
Retour
Remarque , Quoi, comme l'a noté Ben Lahman
, Vous voulez probablement faire
, mais non
/Ce qui entraînera une augmentation du nombre d'indices/.
Étape: chiffres
L'étape est la méthode d'itération sans utilisation de la plage. Il y a deux formes. Commentaires à la fin du code montrent quelle est la gamme de gamme /à condition que le taux d'incrément soit égal 1/.
. Il ne nécessite pas beaucoup de code pour déterminer et est utilisé comme suit:
Vérifier
http://bjmiller.me/post/137624 ... ift-3
</endindex>
Gabriel
Confirmation de:
Et plus loin
Camille
Confirmation de:
Quatre des exemples suivants du code de terrain de jeu
, Pour résoudre votre problème.
#1. en utilisant une méthode
a une méthode nommée
https://developer.apple.com/do ... ersed
.
La méthode a l'annonce suivante:
Renvoie une vue représentant les éléments de la collection dans l'ordre inverse.
Utilisant
:
Alternativement, vous pouvez utiliser la méthode
:
#2. En utilisant une fonction
Bibliothèque standard Swift Fournit une fonctionnalité
https://developer.apple.com/do ... uence
.
a la déclaration suivante:
Retourne une séquence formée de
et applications paresseuses répétées
.
Utilisant
:
#3. En utilisant une fonction
Bibliothèque standard Swift Fournit une fonctionnalité
https://developer.apple.com/do ... tride
.
Il a l'annonce suivante:
Renvoie une séquence de la valeur initiale à la valeur finale et, éventuellement, y compris, sur la valeur spécifiée.
Utilisant
:
Alternativement, vous pouvez utiliser
https://developer.apple.com/do ... tride
:
#4. Utilisation de l'initialisateur
a une initialisée appelée
https://developer.apple.com/do ... -init
.
Il a l'annonce suivante:
Crée un itérateur qui enveloppe cette fermeture dans sa méthode
.
Utilisant
:
Si nécessaire, vous pouvez reflétoriser le code précédent en créant la méthode d'expansion pour
Et enveloppé son itérateur dedans:
</int></element></t></t></t></t></closedrange<bound>
Gilles
Confirmation de:
Il a été renommé de .reversed// à Swift 3.0
Felix
Confirmation de:
Gaspard
Confirmation de:
Si vous voulez activer la valeur
:
Conrad
Confirmation de:
G./ :
Sortir
:
Emile
Confirmation de:
déployer
/
ou, plus répandu, tout
/ dans le sens inverse. Vous avez quelques options supplémentaires.
Tout d'abord, vous pouvez
Un tableau et faites-le parcourir, comme d'habitude. Cependant, je préfère utiliser
La plupart du temps, car il affiche un tuple contenant un objet et son index.
La seule chose à noter ici est qu'il est important de les appeler dans le bon ordre:
Donne des index en ordre décroissant /Ce que je m'attends habituellement/. tandis que:
/qui plus proche de K. NSArray
/
Marche à travers la matrice de retour, mais apporte des indices vers le haut.
Dominique
Confirmation de:
. Ça marche génial dans Swift 3:
Constantine
Confirmation de:
Méthode reversed// Annule les valeurs.
Francois
Confirmation de:
Clement
Confirmation de:
[code]var arrayOfNums = [1,4,5,68,9,10]
for i in 0..<arrayofnums.count -="" 1]="" <="" arrayofnums[arrayofnums.count="" code]="" div="" i="" print="" {="" }[="">
</arrayofnums.count>