Что означает знак -› в рамках Спока?

Может ли кто-нибудь объяснить мне, что означает знак -> в рамках Spock?

Например, у нас есть код, как показано ниже:

given:
    UserService service = Stub()
    service.save({ User user -> 'Michael' == user.name }) >> {
        throw new IllegalArgumentException("We don't want you here, Micheal!")
    }

Я знаю, что делает этот код, но я не знаю, как роль имеет знак -> в этом коде.


person dejmien25    schedule 03.03.2015    source источник
comment
Мне кажется лямбда?   -  person Codecat    schedule 03.03.2015


Ответы (1)


Spock Framework предполагает базовый уровень понимания языка Groovy, и иногда появляются более сложные части Groovy (как в вашем примере).

-> обозначает замыкание, как описано в документации Groovy.

Например, замыкание в Groovy может выглядеть так:

def greeting = "Hello"
def sayHiTo = { name -> greeting + " " + name }
println sayHiTo("user3664097")
person David Coallier    schedule 03.03.2015