forloopbug.groovy

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

GROOVY
65
字号
/**
 * @author John Wilson
 * @version $Revision: 2289 $
 */
class ForLoopBug extends GroovyTestCase {
    
    void testBug() {
        assertScript( """
def list = []
def a = 1
def b = 5
for (c in a..b) {
    list << c
}
assert list == [1, 2, 3, 4, 5]
""")
    }
    
    void testSeansBug() {
        assertScript( """
for (i in 1..10) {
    println i
}
""")        
    }

    void testNormalMethod() {
        def list = []
        def a = 1
        def b = 5
        for (c in a..b) {
            list << c
        }
        assert list == [1, 2, 3, 4, 5]
    }
    
     void testBytecodeGenBug() {
        def a = 1
        def b = 5

        def lastIndex
        for (i in a..b) {
            println i
            lastIndex = i
        }
        a = lastIndex
        
		assert a == 5
    }


    void testVisibility() {
        assertScript( """

def array = [ true, true, true ];
for( boolean i in array ) {
   1.times {
       assert i == true;
   }
}
""")
    }

}

⌨️ 快捷键说明

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