Groovy 多个资源关闭
Groovy multiple resource closure
我正在使用 Groovy 的资源闭包功能,想知道是否可以创建一个管理两个资源的闭包。例如,如果我有以下两个单独的闭包,是否可以创建一个管理这两个闭包的闭包?或者我真的必须嵌套闭包吗?
new File(baseDir, 'haiku.txt').withWriter('utf-8') { writer ->
writer.writeLine 'Into the ancient pond'
}
new Scanner(System.in).with { consoleInput ->
println consoleInput.nextLine()
}
没有。语法 method(arg) {}
是 method(arg, {})
的替代语法,因此,您可以这样做:
fn = { writer ->
writer.writeLine 'Into the ancient pond'
}
new File(baseDir, 'haiku.txt').withWriter('utf-8', fn)
new Scanner(System.in).with(fn)
请注意,闭包必须包含两个方法调用的预期代码。
我正在使用 Groovy 的资源闭包功能,想知道是否可以创建一个管理两个资源的闭包。例如,如果我有以下两个单独的闭包,是否可以创建一个管理这两个闭包的闭包?或者我真的必须嵌套闭包吗?
new File(baseDir, 'haiku.txt').withWriter('utf-8') { writer ->
writer.writeLine 'Into the ancient pond'
}
new Scanner(System.in).with { consoleInput ->
println consoleInput.nextLine()
}
没有。语法 method(arg) {}
是 method(arg, {})
的替代语法,因此,您可以这样做:
fn = { writer ->
writer.writeLine 'Into the ancient pond'
}
new File(baseDir, 'haiku.txt').withWriter('utf-8', fn)
new Scanner(System.in).with(fn)
请注意,闭包必须包含两个方法调用的预期代码。