generatortest.groovy

来自「Groovy动态语言 运行在JVM中的动态语言 可以方便的处理业务逻辑变化大的业」· GROOVY 代码 · 共 50 行

GROOVY
50
字号

class GeneratorTest extends GroovyTestCase {

    void testGenerator() {
        def x = this.&sampleGenerator
        //System.out.println("x: " + x)
		
        def result = ''
        for (i in x) {
            result = result + i
        }
	    
        assert result == "ABC"
    }

    void testFindAll() {
        def x = this.&sampleGenerator
 	    
        def value = x.findAll { item -> return item == "C" }
        assert value == ["C"]

        value = x.findAll { item -> return item != "B" }
        assert value == ["A", "C"]
    }
    
	
    void testEach() {
        def x = this.&sampleGenerator
 	    
        def value = x.each { println(it) }
    }
    
	
    void testMissingThisBug() {
        def result = ''
        for (i in this.&sampleGenerator) {
            result = result + i
        }
	    
        assert result == "ABC"
    }
	
    void sampleGenerator(closure) {
        // kinda like yield statements
        closure.call("A")
        closure.call("B")
        closure.call("C")
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?