2017-03-22 3 views
2

Ich mag gleichzeitig mehrere Liste Schleife über, wie unten:Schleife über mehrere Liste gleichzeitig in Groovy

def p = ["A", "B", "C"] 
def q = ["d", "f", "g"] 
for (x,y in p,q) { 

    println x 
    println y 

} 

Ich kann wie unten etwas tun:

def p = ["A", "B", "C"] 
def q = ["d", "f", "g"] 
for (i=0; i<q.size(); i++) { 

    println p[i] 
    println q[i] 

} 

aber ich würde gerne die Lösung kennen im vorherigen Format. Irgendeine Idee, wie man dasselbe in groovy erreicht?

+0

Hat meine Antwort das Problem lösen? – Opal

Antwort

7

können Sie versuchen, transpose:

def p = ["A", "B", "C"]; 
def q = ["d", "f", "g"]; 
for (i in [p,q].transpose()) { 
    println i[0] 
    println i[1] 
} 
+4

Oder '[p, q] .transpose(). Jeder {a, b -> println a; println b} ' –

+0

@tim_yates sollten Sie diesen Kommentar als Antwort setzen, damit wir das aufwerten können – pixel

Verwandte Themen