我正在阅读一个android gradle构建文件,我不了解其中一些是如何从语法角度运行的,并且可以通过一些指导来完成。我看过gradle和groovy docs,无法找到我需要的东西。说实话,我甚至不知道要搜索什么。
有问题的结构是:
name {
...
}
我怀疑它与封闭有关,但我真的不知道这里发生了什么。该结构嵌入在另一个相同的结构中。这些东西是什么,它们如何被解释器调用/读取/使用?
答案 0 :(得分:1)
你走在正确的轨道上。这是一个闭包,它被作为方法name
的参数调用。
像
name({ /*...*/ })
See the docs for when to leave out parentheses
方法name
在该上下文中不一定存在,因为这是groovy DSL中广泛使用的模式。将会调用methodMissing
。