2010-06-07 12 views
9

En ejemplos de código groovy encuentro el operador -> en todas partes, pero los tutoriales maravillosos ni el libro que tengo parecen proporcionar alguna explicación sobre lo que esto significa.Groovy, ¿qué significa ->

Respuesta

22

Se utiliza para separar donde se declara fijaciones para su cierre desde el código real, por ejemplo:

def myClosure = { x, y -> x + y } 

la parte antes -> declara que el cierre tiene dos argumentos llamado x y y mientras que la segunda parte es el código del cierre.

Se puede omitir en el cierre con un solo parámetro, en ese caso se asume la variable it:

[1, 2, 3, 4].each{ println it*2 } 

pero también se puede hacer

[1, 2, 3, 4].each{ lol -> println lol*2 } 
+0

excelente explicación, gracias – user350325

+0

Scala y C# utilizan => para el mismo propósito, mientras que -> originalmente significaba (* a) .b en a-> b, por lo que es fácil confundirse con la extraña elección de Groovy. –