web-dev-qa-db-fra.com

appeler .ach {} sur intrange renvoie la plage non pas entier

Je pense avoir des attentes amusantes ... Je veux itérer les chiffres de 1 à 10. Comme une boucle tandis que ça va comme ça:

def countMe = 1
while (countMe<11) {
  println countMe
  countMe++
}

Je m'attendais à ce que ce qui suit le ferait aussi:

[1..10].each { println it }

Mais il imprime en fait le IntRange, pas chaque Integer dans la plage. Quel est le moyen le plus proche (syntaxiquement) à mon [x..y].each{} Fantasy pour obtenir chacune d'une liste de chiffres?

48
Mikey

tilisez des parenthèses pas des crochets :

(1..10).each{println it}

[1..10] est une liste de longueur 1 contenant une seule gamme.

89
Eric