closureusingoutervariablestest.groovy
来自「大名鼎鼎的java动态脚本语言。已经通过了sun的认证」· GROOVY 代码 · 共 70 行
GROOVY
70 行
/** * @author <a href="mailto:james@coredevelopers.net">James Strachan</a> * @version $Revision: 1.12 $ */class ClosureUsingOuterVariablesTest extends GroovyTestCase { void testUseOfOuterVariable() { def x = 123 def y = "hello" def closure = { i -> println("x ${x}") println("y ${y}") println("i ${i}") assert x == 123 assert y == 'hello' } closure.call(321) } /* TODO: is this a valid test case? void testInnerVariablesVisibleInOuterScope() { closure = { z = 456 } closure.call(321) assert z == 456 } */ void testModifyingOuterVariable() { def m = 123 def closure = { m = 456 } closure.call(321) assert m == 456 } void testCounting() { def sum = 0 [1, 2, 3, 4].each { sum = sum + it } assert sum == 10 } void testExampleUseOfClosureScopes() { def a = 123 def b def c = { b = a + it } c(5) println(b) assert b == a + 5 } void testExampleUseOfClosureScopesUsingEach() { def a = 123 def b [5].each { b = a + it } assert b == a + 5 }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?