Groovy 为什么实现项目(';:ToastLibrary';)不能被书面实现(project';:ToastLibrary';)呢?

Groovy 为什么实现项目(';:ToastLibrary';)不能被书面实现(project';:ToastLibrary';)呢?,groovy,android-gradle-plugin,Groovy,Android Gradle Plugin,在Groovy中,我们可以省略括号。像 def add(a, b) { a + b } println add(1,2) println add 1, 2 //same result 因此,我们可以将实现(project(':ToastLibrary')更改为实现项目(':ToastLibrary'),然后我认为下面的代码是正确的 implementation project ':ToastLibrary' implementation(project ':ToastLibrary

在Groovy中,我们可以省略括号。像

def add(a, b) {
    a + b
}
println add(1,2)  
println add 1, 2 //same result
因此,我们可以将
实现(project(':ToastLibrary')
更改为
实现项目(':ToastLibrary')
,然后我认为下面的代码是正确的

implementation project ':ToastLibrary'
implementation(project ':ToastLibrary')

但是错误

Could not get unknown property ':ToastLibrary' for DefaultProjectDependency{dependencyProject='project ':app'', configuration='default'} of type org.gradle.api.internal.artifacts.dependencies.DefaultProjectDependency.
请告诉我为什么

你的“证明”有缺陷。当
add
仅接受时,也会出现一个错误 一个论点:

def add(a) {
    a + 1
}
println add 1
给出:

Caught: groovy.lang.MissingPropertyException: No such property: add for class: x
groovy.lang.MissingPropertyException: No such property: add for class: x        
        at x.run(x.groovy:5)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
如果不使用
标记实际参数,解析器将读取 基本上是:

println(add).1
(好像你想把电话连起来)