В примерах отличного кода я нахожу ->
оператор везде, но отличные учебные руководства, ни книга, которую я имею, кажется, обеспечивают любой explaination относительно того, что это означает.
Он используется для отделения того, где вы объявляете привязки для вашего закрытия, от фактического кода, например:
def myClosure = { x, y -> x + y }
часть перед ->
объявляет, что у замыкания есть два аргумента с именами x
и y
, а вторая часть - это код закрытия.
Вы можете опустить его в замыканиях с одним параметром, в этом случае предполагается переменная it
:
[1, 2, 3, 4].each{ println it*2 }
, но вы также можете сделать
[1, 2, 3, 4].each{ lol -> println lol*2 }