web-dev-qa-db-ja.com

IntRangeで.each {}を呼び出すと、整数ではなく範囲が返されます

私はいくつかの面白い期待を持っていると思います... 1から10までの数を繰り返したいのですが、whileループとしては次のようになります:

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

以下もこれを行うと私は期待していました:

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

しかし実際には、範囲内の各IntRangeではなく、Integerを出力します。数字のリストのそれぞれを取得するための[x..y].each{}ファンタジーに(構文的に)最も近い方法は何ですか?

48
Mikey

括弧ではなく括弧を使用する:

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

[1..10]は、単一の範囲を含む長さ1のリストです。

89
Eric