解释这段代码的含义

时间:2014-10-28 17:57:26

标签: groovy

我找到了这行

[compileJava, compileTestJava, javadoc]*.options*.encoding = 'UTF-8'

位于http://snippbin.com/XMql2MXd的gradle代码段中。

我很好奇如何解释这条线实际上在做什么。

1 个答案:

答案 0 :(得分:1)

这实际上是一个Groovy问题。有关详情,请参阅Groovy operators中的点差运算符

To"简化"这一点,这是做以下任务:

compileJava.options.encoding = 'UTF-8'
compileTestJava.options.encoding = 'UTF-8'
javadoc.options.encoding = 'UTF-8'

options的{​​{1}}很短,getOptions()的{​​{1}}缩写encoding='UTF-8'。原始代码中的spread运算符从提供的列表中收集所有选项到新的选项列表,然后下一个扩展运算符调用每个元素的setter。