我是groovy的新手,我想知道在哪里可以找到预定义的完整列表 诸如 it 和委托之类的常规变量?
我感兴趣的特殊事情是,如果有预定义的关键字为
对调用当前方法的对象的引用,例如:
5.times { print 5 - it}
使用这样的关键字应该是这样的:
5.times { print *keyword* - it }
所以问题是应该在那里使用关键字?
P.S。:另一个例子:
MyObject myObject = new myObject();
myObject.getField(); // MyObject has method named getField
myObject.doJob ({
...
((MyObject)*keyword*).getField(); // instead of myObject.getField();
...
})
答案 0 :(得分:4)
要获得所有实际关键字(比您想象的要少)和对象关键属性的良好列表,本文非常好:http://marxsoftware.blogspot.com/2011/09/groovys-special-words.html
如果您可以控制示例中的doJob
方法,那么您应该设置闭包的delegate
:
def doJob(Closure closure) {
closure.delegate = this
closure.resolveStrategy = Closure.DELEGATE_FIRST
// loop or whatever
closure()
}
现在,在闭包中,您可以直接引用父对象上的任何属性,如下所示:
myObject.doJob ({
...
getField()
...
})
答案 1 :(得分:1)
你要这个吗?
int number = 5
number.times { print number - it }
希望这会对你有所帮助