forEach à l'intérieur de forEach dans Kotlin
Dans Kotlin, si vous souhaitez utiliser l'élément de la forEach
, vous pouvez utiliser le it
mot-clé. Alors maintenant, je me demande ce que que dois-je faire si j'ai un forEach
à l'intérieur de forEach
comme ça:
list.forEach {
val parent = it
it.forEach {
//`it` now become the element of the parent.
}
}
Je pense que définit une nouvelle variable que pour la convention de nommage être aussi stupide. Toute autre solution pour ce problème?
Quel est le problème exactement?
thank u pour votre suggestion.
list.forEach{ println(it) }
est un raccourci pour list.forEach{ it -> println(it) }
de sorte que vous pouvez utiliser n'importe quel nom que vous voulez. Je ne vois pas de mal à avoir une abréviation.thank u pour votre suggestion.
OriginalL'auteur Trần Đức Tâm | 2017-07-20
Vous devez vous connecter pour publier un commentaire.
it
est juste un défaut param nom à l'intérieur de tous les argument unique fermetures. Vous pouvez spécifier les param name par vous-même:Si simple et pourtant si dur. Merci pour la solution!
OriginalL'auteur dniHze
En plus de la bonne réponse ci-dessus par Artyom, je tiens à dire que si vous n'en avez que pour l'intérieur, vous pouvez simplement ignorer le nom de la surcharge.
Voir:
La valeur retournée est le plus à l'intérieur "". "", il se réfère à la ultrapériphériques "[2]", c'est le caractère " c " de la chaîne "abc".
Maintenant, si vous voulez accéder à la ultrapériphériques "il", il vous faut donner un nom à quelque chose d'autre comme Artyom dit. Le code ci-dessous est équivalent au code ci-dessus, mais il permet de faire référence à "outerIt" de l'extérieur "laissez-les bloquer dans les recoins les plus profonds de "laisser" en bloc, si c'est ce dont vous avez besoin.
De cette façon, si vous avez besoin de se référer pour l'extérieur, vous le pouvez. Par exemple:
Si vous n'avez pas besoin de se référer à la ultrapériphériques "il", je serais personnellement préfère la première construire car elle est terser.
OriginalL'auteur Patrick Steiger