这个嵌套的 Groovy 语句是如何根据 `timeout()` 的参数解释的?
How is this nested Groovy statement interpreted in terms of the arguments of `timeout()`?
下面的Groovy代码中用到了什么syntax/construct?看起来像是两个语句相互嵌套。
下面代码中timeout()
函数的参数是什么?是函数还是保留字?
input(...)
语句是 Groovy“闭包”吗?它是函数的第三个参数 timeout
?
timeout(time: 5, unit: 'MINUTES') {
input(message: 'Please approve')
}
以下 timeout
和 input
定义将适用于普通 groovy:
def input(Map params){
println "input $params"
}
def timeout(Map params, Closure c){
println "timeout $params"
c.call()
println "timeout after"
}
timeout(time: 5, unit: 'MINUTES') {
input(message: 'Please approve')
}
输出:
timeout [time:5, unit:MINUTES]
input [message:Please approve]
timeout after
下面的Groovy代码中用到了什么syntax/construct?看起来像是两个语句相互嵌套。
下面代码中timeout()
函数的参数是什么?是函数还是保留字?
input(...)
语句是 Groovy“闭包”吗?它是函数的第三个参数 timeout
?
timeout(time: 5, unit: 'MINUTES') {
input(message: 'Please approve')
}
以下 timeout
和 input
定义将适用于普通 groovy:
def input(Map params){
println "input $params"
}
def timeout(Map params, Closure c){
println "timeout $params"
c.call()
println "timeout after"
}
timeout(time: 5, unit: 'MINUTES') {
input(message: 'Please approve')
}
输出:
timeout [time:5, unit:MINUTES]
input [message:Please approve]
timeout after