guillaumesmapbug.groovy

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

GROOVY
40
字号
/**
 * @author Guillaume Laforge
 * @version $Revision: 2285 $
 */
class GuillaumesMapBug extends GroovyTestCase {
    
    void testBug2() {
        def list = [1, 2, 3]
        def map = [:]
        
        doLoop(list, map)
    
        assert map[0] == 1 
        assert map[1] == 2 
        assert map[2] == 3 
    }
    
    void doLoop(list, map) {
        def i = 0
        for (it in list) {
            map[i++] = it
        }
    }
    
    
    void testBug() {
        def list = [1, 2, 3]
        def map = [:]
        doClosureLoop(list, map)
        
        assert map[0] == 1 
        assert map[1] == 2 
        assert map[2] == 3 
    }
    
    void doClosureLoop(list, map) {
        def i = 0
        list.each { map[i++] = it }
    }    
}

⌨️ 快捷键说明

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