2015-02-12 5 views
6

In Scala kann ich so etwas schreiben:Kotlin: Wie kann ich etwas vom Scope zurückgeben?

val something = { 
    val temp1 = ... 
    val temp2 = ... 
    temp1 + temp2 
} 

Soweit ich die beste Art und Weise kennen das gleiche in Kotlin zu tun ist:

val something = { 
    val temp1 = ... 
    val temp2 = ... 
    temp1 + temp2 
}() 

Eigentlich mit Typ-Einheit eine Lambda es ist -> Int, der sofort aufgerufen wird. Ich frage mich, könnte dieser Code irgendwie verbessert werden? Vielleicht gibt es eine eingebaute Funktion, die mir erlaubt etwas zu schreiben = Block {...} oder so ähnlich?

Antwort

13

können Sie Funktion run, wie:

val something = run { 
    val temp1 = ... 
    val temp2 = ... 
    temp1 + temp2 
} 
+0

Das ist die gleiche Sache (noch ausführliche) als das, was die OP geschrieben? – monkjack

+0

Jetzt haben Sie es bearbeitet, es ist genau das, wonach er sucht. – monkjack

+0

Danke für Ihre Bemerkung! – bashor

Verwandte Themen