您好,欢迎来到二三四教育网。
搜索
您的当前位置:首页看懂Gradle脚本(4)- Groovy语法之运算符重载

看懂Gradle脚本(4)- Groovy语法之运算符重载

来源:二三四教育网
task myTask {  
    doLast {      
        println 'hello world!'      
    }      
}  

等价于

task myTask << {  
    println 'hello world!'   
} 
  • AST转换
    下面是经过GradleAST转换之后的脚本:
task('myTask') << {  
    println 'hello world!'   
}  
  • 运算符重载
    理解上面这段脚本的关键点是理解Groovy的运算符重载,groovy中每一个可重载的运算符都跟一个普通的方法名相对应,并且调用运算符方法时,点号可以省略。上面的<<(左移)运算符,在Groovy眼里,其实就是leftShift方法:
task('myTask').leftShift({  
    println 'hello world!'   
})

leftShift的方法签名:

Task leftShift(Closure action) 
  • 结论
    Task定义脚本里的<<运算符,实际上是Task的leftShift方法。

  • 举一反三
    <<运算符看起来像是往左边的操作数中放入某种东西,这也是为什么Gradle会选择这个运算符来给Task添加一个Action的原因。类似,Groovy给List添加了<<运算符支持,如下所示:

def list = []  
list << 1  
list << 2  
println list  

打印出:[1, 2]

本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

热门图文

Copyright © 2019-2025 how234.cn 版权所有 赣ICP备2023008801号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务