Как работает любой метод? в Groovy?

Я наткнулся на этот фрагмент кода:

n = args[0] as Long
[*n..1, n].any{ println ' '*it + '*'*(n - ~n - it*2) }

Он используется для печати древовидной структуры. Примерно так:

    *
   ***
  *****
 *******
    *

(для n = 4)

  1. Как код [* n..1, n] создает [4, 3, 2 , 1, 4] ?

  2. Как здесь работает любой метод? Документ мне мало помогает. Какой прогноз может быть передан в любой (как указано в Документе )?

Какая польза от any и как он обрабатывается в этот случай?

9
задан Zach Lysobey 25 September 2014 в 15:24
поделиться