大名鼎鼎的java动态脚本语言。已经通过了sun的认证
源代码在线查看: nestedclosure2bug.groovy
import org.codehaus.groovy.classgen.TestSupport /** * @version $Revision: 1.6 $ */ class NestedClosure2Bug extends TestSupport { Object f void testFieldBug() { def closure = { return { f = 123 return null } } def value = closure() value = value() assert f == 123 } void testBugOutsideOfScript() { def a = 123 def b = 456 def closure = { println b def c = 999 return { f = 2222111 println f println c def d = 678 return { println f assert f == 2222111 println d return a } } } def c2 = closure() def c3 = c2() def value = c3() assert f == 2222111 assert value == 123 } void testBug() { assertScript """ def a = 123 def closure = { return { return { return a } } } def c2 = closure() def c3 = c2() value = c3() assert value == 123 """ } }