你可以使用 ZIP 或者 TAR 等压缩文件的内容作为文件树, Project.zipTree() 和 Project.tarTree() 方法返回一个 FileTree 实例, 你可以像使用其他文件树或者文件集合一样使用它.例如,你可以使用它去扩展一个压缩文档或者合并一些压缩文档.例 15.7 使用压缩文档作为文件树build.gradle// 使用路径创建一个 ZIP 文件FileTree zip = zipTree('someFile.
Gradle DSL 在很多地方使用闭合,这里我们将讨论更多关于闭合的使用. 当一个方法的最后一个参数是一个闭合时,您可以在方法调用后放置一个闭合.例子: 13.8.闭合作为方法的参数build.gradlerepositories { println "in a closure"}repositories() { println "in a closure" }repositories({println "in a closure" })
闭包作为参数(Taking closures as arguments)现在我们知道了闭包是 trait,我们已经知道了如何接受和返回闭包;就像任何其它的 trait!这也意味着我们也可以选择静态或动态分发。首先,让我们写一个获取可调用结构的函数,调用它,然后返回结果:fn call_with_one<F>(some_closure: F) -> i32 where F : Fn(i32) ->