I'm totally bewildered by the following. (And googling it did not help).

Erm ... markup ... don't know.

[code]
    def sorttest = []
    if(1){
        sorttest = [[x:3,y:2],[x:4,y:1],[x:2,y:3],[x:1,y:4]]
        // if(DBL){println('sorttest|1a: ' + sorttest)}
        assert sorttest instanceof List
        assert sorttest.size() == 4
        assert sorttest[0] instanceof java.util.LinkedHashMap
        assert sorttest[0].size() == 2
        assert sorttest[0].x instanceof Integer

        sorttest.sort{[it.x, it.y]}
        // if(DBL){println('sorttest|1a: ' + sorttest)}
        sorttest.sort{[-it.x, -it.y]}
        // if(DBL){println('sorttest|1b: ' + sorttest)}

        sorttest.sort{[it.y, it.x]}
        // if(DBL){println('sorttest|2a: ' + sorttest)}
        sorttest.sort{[-it.y, -it.x]}
        // if(DBL){println('sorttest|2b: ' + sorttest)}
    }
    if(1){
        sorttest = [[x:3,y:2],[x:4,y:1],[x:2,y:3],[x:1,y:4]]
        // if(DBL){println('sorttest|0a: ' + sorttest)}
        for (int i in 1..sorttest.size()){
            i -= 1
            sorttest[i] = [x:sorttest[i].x.toDouble(),
y:sorttest[i].y.toDouble()]
        }
        // if(DBL){println('sorttest|0b: ' + sorttest)}
        assert sorttest instanceof List
        assert sorttest.size() == 4
        assert sorttest[0] instanceof java.util.LinkedHashMap
        assert sorttest[0].size() == 2
        assert sorttest[0].x instanceof Double

        sorttest.sort{[it.x, it.y]}
        // if(DBL){println('sorttest|1a: ' + sorttest)}
        sorttest.sort{[-it.x, -it.y]} // reversing the output (well trying)
        // if(DBL){println('sorttest|1b: ' + sorttest)}

        sorttest.sort{[it.y, it.x]}
        // if(DBL){println('sorttest|2a: ' + sorttest)}
        sorttest.sort{[-it.y, -it.x]} // reversing the output (well trying)
        // if(DBL){println('sorttest|2b: ' + sorttest)}
    }

[/code]
[Output]:
    sorttest|0: [[x:3, y:2], [x:4, y:1], [x:2, y:3], [x:1, y:4]]
    sorttest|1a: [[x:1, y:4], [x:2, y:3], [x:3, y:2], [x:4, y:1]]
    sorttest|1b: [[x:4, y:1], [x:3, y:2], [x:2, y:3], [x:1, y:4]]
    sorttest|2a: [[x:4, y:1], [x:3, y:2], [x:2, y:3], [x:1, y:4]]
    sorttest|2b: [[x:1, y:4], [x:2, y:3], [x:3, y:2], [x:4, y:1]]

    sorttest|0a: [[x:3, y:2], [x:4, y:1], [x:2, y:3], [x:1, y:4]]
    sorttest|0b: [[x:3.0, y:2.0], [x:4.0, y:1.0], [x:2.0, y:3.0],
[x:1.0, y:4.0]]
    sorttest|1a: [[x:1.0, y:4.0], [x:2.0, y:3.0], [x:3.0, y:2.0],
[x:4.0, y:1.0]]
    sorttest|1b: [[x:1.0, y:4.0], [x:2.0, y:3.0], [x:3.0, y:2.0],
[x:4.0, y:1.0]] -- No Change ???
    sorttest|2a: [[x:4.0, y:1.0], [x:3.0, y:2.0], [x:2.0, y:3.0],
[x:1.0, y:4.0]]
    sorttest|2b: [[x:4.0, y:1.0], [x:3.0, y:2.0], [x:2.0, y:3.0],
[x:1.0, y:4.0]] -- No Change ???
[/Output]

If this it something version specific (like: groovy-3.0.12) ... I
can't change that (not in this case).

Reply via email to