Question Créer des gammes exclusives en kotlin


Je commence juste avec Kotlin. Je veux créer gamme de 1 à n où n est excluded. J'ai découvert que Kotlin a des gammes et je peux les utiliser comme suit

1..n

mais c'est un inclusive gamme qui comprend 1 et n. Comment créer exclusive gammes


16
2018-03-28 16:42


origine


Réponses:


Vous ne savez pas si c'est le meilleur moyen de le faire, mais vous pouvez définir un Int extension qui crée un IntRange de (borne inférieure +1) à (borne supérieure - 1).

fun Int.exclusiveRangeTo(other: Int): IntRange = IntRange(this + 1, other - 1)

Et puis l'utiliser de cette manière:

for (i in 1 exclusiveRangeTo n) { //... }

Ici vous pouvez trouver plus de détails sur le fonctionnement des gammes.


6
2018-03-28 17:38



Vous pouvez utiliser le jusqu'à fonction dans le stdlib Kotlin:

for (i in 1 until 5) {
    println(i)
}

Qui imprimera:

1
2
3
4

51
2018-02-20 04:30