closureinstaticmethodtest.groovy
来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· GROOVY 代码 · 共 46 行
GROOVY
46 行
/**
* @author <a href="mailto:james@coredevelopers.net">James Strachan</a>
* @version $Revision: 4661 $
*/
class ClosureInStaticMethodTest extends GroovyTestCase {
void testClosureInStaticMethod() {
def closure = closureInStaticMethod()
assertClosure(closure)
}
void testMethodClosureInStaticMethod() {
def closure = methodClosureInStaticMethod()
assertClosure(closure)
}
static def closureInStaticMethod() {
return { println(it) }
}
static def methodClosureInStaticMethod() {
System.out.&println
}
static def assertClosure(Closure block) {
assert block != null
block.call("hello!")
}
void testClosureInStaticMethodCallingStaticMethod() {
assert doThing(1) == 10
assert this.doThing(1) == 10
assert ClosureInStaticMethodTest.doThing(1) == 10
}
static doThing(count) {
def ret = count
if (count > 2) return ret
count.times {
ret += doThing(count+it+1)
}
return ret
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?