2017-07-03 5 views
1

Ich verwende die Ressource Schließung Feature von Groovy, und fragte mich, ob es möglich war, eine Schließung zu schaffen, die zwei Ressourcen verwaltet. Zum Beispiel, wenn ich die folgenden zwei separate Schließungen habe, ist es möglich, eine Schließung zu schaffen, die beide verwaltet? Oder muss ich wirklich die Verschlüsse nisten?Groovy mehrere Ressource Schließung

new File(baseDir, 'haiku.txt').withWriter('utf-8') { writer -> 
    writer.writeLine 'Into the ancient pond' 
} 

new Scanner(System.in).with { consoleInput -> 
    println consoleInput.nextLine() 
} 
+0

Vielleicht kann dieser Link Ihnen helfen? https://stackoverflow.com/questions/23382079/groovy-try-with-resources-construction-analogue – rafaelim

Antwort

0

Nr Die Syntax method(arg) {} ist eine alternative Syntax method(arg, {}), so können Sie dies tun:

fn = { writer -> 
    writer.writeLine 'Into the ancient pond' 
} 

new File(baseDir, 'haiku.txt').withWriter('utf-8', fn) 

new Scanner(System.in).with(fn) 

Beachten Sie, dass die Schließung Code für beide Verfahren erwartet enthalten muss Aufrufe.

Verwandte Themen