class SomeImplClass () {....
def rightShift (evalResult){
evalResult = this.evaluate()
println "rightShift : outputiing $evalResult"
this
}
并使用
def res
def im = new SomeImplClass(); im >> res
当res通过值传递时,这可以在右移的主体内工作,但是当你走出调用者时,res不会被设置 - 它仍然指向原始内存地址。
那么你如何实现正确的转换来改变外部范围中变量指向的值?
答案 0 :(得分:0)
我发现这样做的唯一方法是将一个闭包作为参数传递给右移,然后用你要发送的值调用该闭包
由于闭包带有生日上下文,您可以处理传递给该闭包的paramwater,以设置闭包可以通过其上下文访问的变量。