Zoeken…


Basisuitdrukkingen

In Scala (in tegenstelling tot Java en de meeste andere talen) is if een expressie in plaats van een statement . Hoe dan ook, de syntaxis is identiek:

if(x < 1984) {
   println("Good times")
} else if(x == 1984) {
   println("The Orwellian Future begins")
} else {
   println("Poor guy...")
}

De implicatie van if een uitdrukking is dat je het resultaat van de visitatie van de uitdrukking aan een variabele kunt toewijzen:

val result = if(x > 0) "Greater than 0" else "Less than or equals 0"
\\ result: String = Greater than 0

Hierboven zien we dat de if expressie wordt geëvalueerd en het result wordt ingesteld op die resulterende waarde.

Het retourtype van een if expressie is het supertype van alle logische vertakkingen. Dit betekent dat voor dit voorbeeld het retourtype een String . Aangezien niet alle if uitdrukkingen terug te keren een waarde (zoals een if verklaring dat er geen heeft else tak logica), is het mogelijk dat de return type is Any :

val result = if(x > 0) "Greater than 0"
// result: Any = Greater than 0

Als er geen waarde kan worden geretourneerd (bijvoorbeeld als alleen bijwerkingen zoals println worden gebruikt binnen de logische vertakkingen), is het retourtype Unit :

val result = if(x > 0) println("Greater than 0")
// result: Unit = ()

if uitdrukkingen in Scala vergelijkbaar zijn met de werking van de ternaire operator in Java . Vanwege deze gelijkenis is er geen dergelijke operator in Scala: het zou overbodig zijn.

Krullende accolades kunnen worden weggelaten in een if expressie als de inhoud een enkele regel is.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow