根据gradle文档/第13.5.2节,我们可以省略方法调用中的括号:
括号是方法调用的可选项.
但是当我们尝试应用java插件时它似乎不起作用.如果脚本包含以下行:
apply [plugin: 'java']
Run Code Online (Sandbox Code Playgroud)
我们会收到错误:
Maybe something should be set in parentheses or a comma is missing?
@ line 1, column 8.
apply [plugin: 'java']
^
Run Code Online (Sandbox Code Playgroud)
但是如果我们把这个Map-literal放到括号中它就可以了.
apply([plugin: 'java'])
Run Code Online (Sandbox Code Playgroud)
因此,当参数为a时Map,我们不能省略括号,是吗?
正如规范所说,当没有歧义时,可以省略括号.我怀疑这种情况下的含糊不清是因为没有括号的语句看起来很像数组索引语法,并且解析器无法确定您是否正在调用名为"apply"的方法或尝试使用名为"apply"的数组执行某些操作.
就个人而言,这就是我倾向于总是使用括号的原因 - 如果解析器无法解决问题,我确信另一个读代码的程序员也不会.
| 归档时间: |
|
| 查看次数: |
648 次 |
| 最近记录: |