penso che ho alcune aspettative divertenti ... voglio iterare i numeri da 1 a 10. Come un ciclo while va in questo modo:chiamando .each {} sul IntRange non restituisce l'intervallo di ogni intero
def countMe = 1
while (countMe<11) {
println countMe
countMe++
}
mi aspettavo che il seguente avrebbe fatto anche questo:
[1..10].each { println it }
Ma in realtà la stampa IntRange
, non ogni Integer
nella gamma. Qual è il modo (sintatticamente) più vicino alla mia fantasia [x..y].each{}
di ottenere ognuno di una lista di numeri?
È necessario ricordare [1..10] significa solo un intervallo quando è un indice DOPO un'altra variabile. Quando si trova da solo, allora è un ELENCO di una gamma. Queste piccole incoerenze sorgono perché Groovy cerca di estendere la sintassi di Java con le proprie aggiunte. –