这是一个包含多个部分的问题。
Gradle似乎有两种定义函数的方法
类型一:
def func1 = { param -> ...}类型2
def func2 (OptionalType param){...}我更喜欢使用Type2,这不仅是因为我不知道如何为func1定义参数的类型(问题第1部分是如何为函数类型1参数设置类型),还因为它读起来更好。
但我发现我能做到
subprojects { ext.func1 = func1 }但
subprojects { ext.func2 = func2 }似乎不起作用,因为我更喜欢使用函数类型2,我想知道如何为子项目提供它,我相信这肯定是可能的,但我找不到正确的语法。(问题二)
我希望你们能帮助我。
发布于 2016-09-01 17:49:41
您的func1不是一个函数,但是您定义了一个闭包,并将该闭包分配给一个变量。在Groovy ( Gradle的基础)中,您可以调用具有闭包的变量,就像它是一个函数一样,但实际上它不是。
因此,要么使用类型1(也可以在同一位置使用可选类型,但不需要这样做,因为def func1 = { OptionalType param -> ...}是动态类型的。
或者使用类型2定义函数,然后创建一个调用类型2函数的类型1变量。
https://stackoverflow.com/questions/39268106
复制相似问题